私はQLineEdit
を持っています。QLineEdit
には整数だけを受け入れるように制限したいと考えています。それはinputmaskのように動作するはずです。しかし、私はinputmask
を使用したくない。ユーザがQLineEdit
をクリックすると、マウスがクリックされた位置にカーソルが置かれるからだ。ユーザーは0の位置に移動し、彼が望む前夜を入力する必要があります。pyqtでQLineEditのユーザー入力を制限する方法
これに代わるものはありますか?
私はQLineEdit
を持っています。QLineEdit
には整数だけを受け入れるように制限したいと考えています。それはinputmaskのように動作するはずです。しかし、私はinputmask
を使用したくない。ユーザがQLineEdit
をクリックすると、マウスがクリックされた位置にカーソルが置かれるからだ。ユーザーは0の位置に移動し、彼が望む前夜を入力する必要があります。pyqtでQLineEditのユーザー入力を制限する方法
これに代わるものはありますか?
あなたはこれを検証するための例外処理を使用することができます:あなたはまた、入力文字列を検証するためにvalidatorsを使用することができます
number = self.ui.number_lineEdit.text()
try:
number = int(number)
except Exception:
QtGui.QMessageBox.about(self, 'Error','Input can only be a number')
pass
。
あなたのようなそれが動作QValidatorを使用することができます:
#To allow only int
self.onlyInt = QIntValidator()
self.LineEdit.setValidator(self.onlyInt)
私はvalidators' 'について聞いたが、' QLineEdit'にそれを設定する方法についての正しい例を見つける取得できませんでした。私はあなたの承認を試している間の平均。私は、バリデータはプロのアプローチのための良い選択肢だと思います。 – Rao
ここでこの質問から学習してみてください。http://stackoverflow.com/questions/5770441/checking-qvalidators-state – scottydelta
バリデーターの使い方の良い例がここにあります:http://snorf.net/blog/2014/08/ 09/using-qvalidator-in-pyqt4-to-validate-user-input/ – maurobio