如何设置 QTableWidget 的列文本格式



我想以表格形式显示一些数据。我拿了QTableWidget,因为它有多列。其中一列将包含时间(hh:mm 格式(。

我还希望用户编辑表格的任何项目,但具有相应的格式。

我能够在QTableWidget中添加数据,但无法设置时间列的文本格式。

我想实现这一点,以便用户只能以hh:mm格式编辑时间。

如果可能的话,请用python编写你的答案代码。

由于您希望用户输入时间日期,我建议通过以下方式重用已经存在的QDateTimeEdit类:

dateTime = QDateTimeEdit();
dateTime.setDisplayFormat("hh:mm");
dateTime.setFrame(False);
myTableWidget.setCellWidget(row, column, dateTime);

用户将能够在表格小部件中以这种方式编辑"时间数据"。此外,由于可以应用的步骤,它也很方便。

如果你真的坚持自己重新发明这个,你可以使用带有自定义验证器的QLineEdit来对抗所需的hh::mm格式。

dateTime = QLineEdit();
dateTime.setValidator(QRegExpValidator(QRegExp("^([0-9]|0[0-9]|1[0-9]|2[0-3]):[0-5][0-9]$")));
myTableWidget.setCellWidget(row, column, dateTime);

最新更新