1
我有一個QTableWidget
四列。我希望用戶只能在前三個中插入整數,在第四個中插入一個雙精度。QTableWidget,只允許鍵入數字
我相信這可以通過委託完成,但我還沒有找到相關示例(只有一些與QDateTimeEdit
)。
我該怎麼辦?
我有一個QTableWidget
四列。我希望用戶只能在前三個中插入整數,在第四個中插入一個雙精度。QTableWidget,只允許鍵入數字
我相信這可以通過委託完成,但我還沒有找到相關示例(只有一些與QDateTimeEdit
)。
我該怎麼辦?
查看QItemDelegate
的文檔;它對如何使用它提供了很好的描述。
由於使用委託,您將能夠提供自己的自定義編輯器,我建議您使用QLineEdit
並使用驗證器集使用setValidator()
。我相信在這種情況下,QIntValidator
和QDoubleValidator
將是完美的。
謝謝。只有一個問題:如何設置列的驗證器?我爲QLineEdit做過,但從來沒有列。 – Giuseppe
驗證器設置在編輯器'QLineEdit'上。由於委託處理爲單元格創建編輯器,因此可以爲不同的列設置不同的委託 - 只需使用'QAbstractItemView :: setItemDelegateForColumn()'。 – swongu
我會建議代替編輯器使用旋轉框和雙旋轉框的可能性。它們仍然可以輸入,已經有驗證器,並且允許用戶快速增加/減少值。 –