天天看点

6.QLineEdit 控件 input Mask

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('一输入')