我有一个表格小部件。我无法弄清楚如何更改每个单元格中的输入格式。目前我希望它只接受十六进制值。我怎么做?我正在使用Qt Designer 4.8.6和PyQt4
感谢任何帮助。
答案 0 :(得分:1)
可以使用自定义代理和 QRegexValidator 完成:
您必须创建一个自定义Delegate,您可以在其中覆盖该方法:
QWidget createEditor (self, QWidget parent, QStyleOptionViewItem option, QModelIndex index)
所以它会返回一个QLineEdit,它有一个QRegexValidator,包含正确的模式。
要在QLineEdit上设置正则表达式验证器,请使用:
setValidator (self, QValidator)
最后,使用以下方法在表上设置自定义委托:
setItemDelegate (self, QAbstractItemDelegate delegate)