Rei*_*ila 3 pyqt4 qtablewidget python-3.x
我的工作是pyqt4,python3.4我想验证单元格中的文本在引入时是否是浮点数。我怎么做到这一点?
你有两个选择。
您可以创建QItemDelegate并覆盖createEditor、setEditorData和setModelData来控制它们呈现的小部件以编辑数据。QLineEdit如果您愿意,您可以使用验证器创建 a ,但如果它们只能输入数字,您可能应该只使用 a QSpinBoxor QDoubleSpinBox,它只允许整数和浮点数。或者,您可以让他们输入他们想要的任何内容,然后在setModelData函数中忽略任何输入的无效数字值。
class MyDelegate(QtGui.QItemDelegate):
def createEditor(self, parent, option, index):
return QtGui.QSpinBox(parent)
delegate = MyDelegate()
table.setItemDelegate(delegate)
Run Code Online (Sandbox Code Playgroud)
或者,如果表中的项目已经有数字,则有一个稍微简单的解决方案,只需为该EditData项目的角色分配一个整数或浮点数即可。 Qt会注意到类类型并自动为您构造一个QSpinBoxor 。QDoubleSpinBox
item = QTableWidgetItem()
item.setData(QtCore.Qt.EditRole, 5)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
6465 次 |
| 最近记录: |