qttable小部件,单元格文本只作为十六进制
问题描述:
我有一个表小部件。我无法弄清楚如何改变每个单元格的输入格式。此刻,我希望它只接受十六进制值。我怎么做?我正在使用Qt设计器4.8.6和PyQt4qttable小部件,单元格文本只作为十六进制
任何帮助表示赞赏。
答
,可以使用自定义委托和QRegexValidator来完成:
你必须创建一个自定义的委托,你覆盖的方法:
QWidget createEditor (self, QWidget parent, QStyleOptionViewItem option, QModelIndex index)
所以它会返回一个QLineEdit的那有一个QRegexValidator,包含正确的模式。
要设置正则表达式validor的QLineEdit的使用:
setItemDelegate (self, QAbstractItemDelegate delegate)
:
setValidator (self, QValidator)
最后,利用设置在表格中的自定义委托