qttable小部件,单元格文本仅作为十六进制

时间:2016-09-14 19:50:57

标签: qt pyqt qt4 pyqt4

我有一个表格小部件。我无法弄清楚如何更改每个单元格中的输入格式。目前我希望它只接受十六进制值。我怎么做?我正在使用Qt Designer 4.8.6和PyQt4

感谢任何帮助。

1 个答案:

答案 0 :(得分:1)

可以使用自定义代理 QRegexValidator 完成:

您必须创建一个自定义Delegate,您可以在其中覆盖该方法:

QWidget createEditor (self, QWidget parent, QStyleOptionViewItem option, QModelIndex index)

所以它会返回一个QLineEdit,它有一个QRegexValidator,包含正确的模式。

要在QLineEdit上设置正则表达式验证器,请使用:

setValidator (self, QValidator)

最后,使用以下方法在表上设置自定义委托:

setItemDelegate (self, QAbstractItemDelegate delegate)