22

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

有没有替代品。

4

2 回答 2

48

您可以使用 QValidator 它的工作原理如下:

#To allow only int
self.onlyInt = QIntValidator()
self.LineEdit.setValidator(self.onlyInt)
于 2017-06-25T20:02:30.467 回答
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

您还可以使用验证器来验证输入字符串。

于 2013-04-05T15:10:29.587 回答