将setInputMask和setValidator IPv4地址合并到QlineEdit时出现问题
我有一个QLineEdit来设置我的IPv4地址。 第一次,我用setInputMask将QLineEdit设置为“…” 第二次,我使用Ip验证器来检查它是否是Ip地址
问题是当我单独使用时,它可以工作,但在一起时,我不能编辑我的QLineEdit。。。在
self.lineEdit_IP = QtWidgets.QLineEdit(self.centralwidget)
self.lineEdit_IP.setGeometry(120,0,160,30)
self.lineEdit_IP.setStyleSheet("background-color: rgb(255, 255, 255);")
self.lineEdit_IP.setAlignment(QtCore.Qt.AlignHCenter)
self.lineEdit_IP.setInputMask("000.000.000.000")
#Set IP Validator
regexp = QtCore.QRegExp('^(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)(\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)){0,3}$')
validator = QtGui.QRegExpValidator(regexp)
self.lineEdit_IP.setValidator(validator)
为QLine设置掩码会将其内容从空符号更改为指定符号。你的“看起来像是空的。这就是regex失败的原因。
您可以使用自己的重写验证器:
像这样使用它
^{pr2}$使用诸如“000.000.000.000;”或“000.000.000.000;”<;这样的掩码结尾有空格
相关问题 更多 >
编程相关推荐