pyqt5文本控件输入限制

pyqt5限制文本控件的输入

 from PyQt5.QtWidgets import *
    from PyQt5.QtGui import QIntValidator,QDoubleValidator,QRegExpValidator
    from PyQt5.QtCore import QRegExp
    import sys
    class QLineEditValidator(QWidget):
        def __init__(self):
            super(QLineEditValidator,self).__init__()
            self.initUI()
    def initUI(self):
        self.setWindowTitle('校验器')
        **#创建表单布局**
        formLayout=QFormLayout()
        intLineEdit=QLineEdit()
        doubleLineEdit=QLineEdit()
        validatorLineEdit=QLineEdit()
        formLayout.addRow('整数类型',intLineEdit)
        formLayout.addRow('浮点类型',doubleLineEdit)
        formLayout.addRow('数字和字母',validatorLineEdit)
    
        intLineEdit.setPlaceholderText('整型')
        doubleLineEdit.setPlaceholderText('浮点型')
        validatorLineEdit.setPlaceholderText('数字和字母')
    
        **#整数校验器[1,99]**
        intValidator=QIntValidator()
        intValidator.setRange(1,99)
    
        **#浮点校验器[-360,360],精度小数点后2位**
        doubleValidator=QDoubleValidator()
        doubleValidator.setRange(-360,360)
        doubleValidator.setNotation(QDoubleValidator.StandardNotation)
        **#设置精度**
        doubleValidator.setDecimals(2)
    
        **#数字字母校验器**
        reg=QRegExp('[a-zA-Z0-9]+$')
        validator=QRegExpValidator(self)
        validator.setRegExp(reg)
    
        **#设置校验器**
        intLineEdit.setValidator(intValidator)
        doubleLineEdit.setValidator(doubleValidator)
        validatorLineEdit.setValidator(validator)
    
        **#设置布局**
        self.setLayout(formLayout)

pyqt5文本控件输入限制_第1张图片
有点bug,整数和浮点数都会出现不符合的现象,所以说最好使用正则表达式来控制。

你可能感兴趣的:(QLineEdit)