0
QTableWidgetがフォーカスを失った場合に検証して、エントリのテキストを検証し、そのプログラムが自分のプログラムで有効でない場合はそのテキストを変更することができます。この場合inputMaskとにQLineEditを使用し、QTableWidgetを検証する
QTableWidgetがフォーカスを失った場合に検証して、エントリのテキストを検証し、そのプログラムが自分のプログラムで有効でない場合はそのテキストを変更することができます。この場合inputMaskとにQLineEditを使用し、QTableWidgetを検証する
可能な解決策は、デリゲートを使用することで、デリゲートは、検証を担当している:
class HexDelegate(QItemDelegate):
def createEditor(self, parent, option, index):
w = QLineEdit(parent)
w.setInputMask("HH")
return w
class App(QWidget):
def __init__(self, *args, **kwargs):
QWidget.__init__(self, *args, **kwargs)
self.setLayout(QVBoxLayout())
# Create table
self.tableWidget = QTableWidget(self)
self.layout().addWidget(self.tableWidget)
self.tableWidget.setRowCount(4)
self.tableWidget.setColumnCount(2)
self.tableWidget.setItemDelegate(HexDelegate())
if __name__ == '__main__':
app = QApplication(sys.argv)
ex = App()
ex.show()
sys.exit(app.exec_())
ありがとう、それはすばらしく働いた!!!あなたは私の人生を救った! – bril10
QItemDelegateを使用して、そこを検証します。あなたが妥当性を確認したいと言ったら、私はあなたに例を挙げることができます。 – eyllanesc
私は入力テキストが2桁の16進数であることを確認したいだけです – bril10