C++ qt Qtablewidget 设置只可以输入浮点型
时间: 2024-01-11 18:04:47 浏览: 124
QLineEdit只能输入浮点数
在QTableWidget中设置只能输入浮点型,可以通过设置委托来实现。
以下是一个简单的示例代码,演示如何设置委托来限制输入为浮点型:
```python
from PyQt5 import QtWidgets, QtGui, QtCore
class FloatDelegate(QtWidgets.QStyledItemDelegate):
def createEditor(self, parent, option, index):
editor = QtWidgets.QLineEdit(parent)
validator = QtGui.QDoubleValidator()
editor.setValidator(validator)
return editor
class MyTable(QtWidgets.QTableWidget):
def __init__(self, parent=None):
super().__init__(parent)
self.setItemDelegate(FloatDelegate())
if __name__ == '__main__':
import sys
app = QtWidgets.QApplication(sys.argv)
table = MyTable()
table.setRowCount(3)
table.setColumnCount(3)
table.show()
sys.exit(app.exec_())
```
在这个例子中,我们创建了一个名为FloatDelegate的委托,它只允许浮点型的输入。然后我们将这个委托设置为表格中的所有单元格的委托。
这样,用户在输入数据时,只能输入浮点型数据,其他类型的数据将被过滤掉。
阅读全文