web-dev-qa-db-ja.com

pyqtのQLineEditでユーザー入力を制限する方法

QLineEditがあり、QLineEditを整数のみを受け入れるように制限したいと思います。 inputmaskのように機能するはずです。しかし、ユーザーがinputmaskをクリックすると、カーソルがマウスがクリックされた位置にあるため、QLineEditは使用したくありません。ユーザーは0の位置に移動し、必要な前夜を入力する必要があります。

これに代わるものはありますか?.

13
Rao

次のように機能するQValidatorを使用できます。

#To allow only int
self.onlyInt = QIntValidator()
self.LineEdit.setValidator(self.onlyInt)
27
Fe3back

これを検証するために例外処理を使用できます。

number = self.ui.number_lineEdit.text()
try:
    number = int(number)
except Exception:
    QtGui.QMessageBox.about(self, 'Error','Input can only be a number')
    pass

validators を使用して入力文字列を検証することもできます。

9
scottydelta