我有一个QLineEdit
,我想限制QLineEdit
只接受整数。它应该像inputmask一样工作。但我不想使用inputmask
,因为如果用户点击QLineEdit
光标将位于单击鼠标的位置。并且用户需要导航到0位置并键入他想要的前夕。
是否有替代品。
答案 0 :(得分:20)
你可以使用QValidator,它的工作原理如下:
#To allow only int
self.onlyInt = QIntValidator()
self.LineEdit.setValidator(self.onlyInt)
答案 1 :(得分:9)
您可以使用异常处理来验证这一点:
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来验证输入字符串。