如何在pyqt中限制QLineEdit中的用户输入

时间:2013-04-05 08:59:47

标签: python pyqt4 qlineedit

我有一个QLineEdit,我想限制QLineEdit只接受整数。它应该像inputmask一样工作。但我不想使用inputmask,因为如果用户点击QLineEdit光标将位于单击鼠标的位置。并且用户需要导航到0位置并键入他想要的前夕。

是否有替代品。

2 个答案:

答案 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来验证输入字符串。