input mask
def initUI(self):
# self.setGeometry(300,300, 500,500)
self.move(500,500)
self.setWindowTitle('QLineEditValidator')
#192.168.21.45
ipLineEdit = QLineEdit()
ipLineEdit.setInputMask('000.000.000.00;_') #0就是0-9,分号意思没有输入就是下划线
macLineEdit = QLineEdit()
macLineEdit.setInputMask('HH:HH:HH:HH:HH:HH;_')
dateLineEdit = QLineEdit()
dateLineEdit.setInputMask('0000-00-00;_')
licenseLineEdit = QLineEdit()
licenseLineEdit.setInputMask('>AAAAA-AAAAA-AAAAA-AAAAA-AAAAA;#') #>所有字母要大写
formLayout = QFormLayout()
formLayout.addRow("数字掩码",ipLineEdit)
formLayout.addRow("MAC掩码", macLineEdit)
formLayout.addRow("时间掩码", dateLineEdit)
formLayout.addRow("序列号掩码", licenseLineEdit)
self.setLayout(formLayout)
综合一下:
def initUI(self):
self.setWindowTitle('QLineEditDemo')
self.move(500,500)
edit1 = QLineEdit() #int校验器
edit1.setValidator(QIntValidator()) #默认
edit1.setMaxLength(4) #不超过9999
edit1.setAlignment(Qt.AlignRight)
edit1.setFont(QFont('Arial', 12))
edit2 = QLineEdit()
edit2.setValidator(QDoubleValidator(0.99,99.99,2))
edit3 = QLineEdit()
edit3.setInputMask('99_9999_999999;#')
edit4 = QLineEdit()
edit4.textChanged.connect(self.textChanged)
edit5 = QLineEdit()
edit5.setEchoMode(QLineEdit.Password)
edit5.editingFinished.connect(self.enterPress)
edit6 = QLineEdit('hello read-only')
edit6.setReadOnly(True)
formLayout = QFormLayout()
formLayout.addRow("整数校验",edit1)
formLayout.addRow("浮点校验",edit2)
formLayout.addRow("input mask", edit3)
formLayout.addRow("文本变化", edit4)
formLayout.addRow("password", edit5)
formLayout.addRow("只读", edit6)
self.setLayout(formLayout)
def textChanged(self,text):
print('input content:', text)
def enterPress(self):
print('一输入')