[python]PyQt5- QLineEdit和校验器

校验器:限制输入的内容

import sys
from PyQt5.QtWidgets import *
from PyQt5.QtGui import *
from PyQt5.QtCore import *

class testLinEdit_002(QWidget):
    def __init__(self):
        super(testLinEdit_002,self).__init__()
        self.initUI()
    
    def initUI(self):
        self.setWindowTitle("校验器")

        formLayout = QFormLayout()

    # 整数
        intLineEdit = QLineEdit()
        # 布局
        formLayout.addRow("整数",intLineEdit)
        # 提示文本
        intLineEdit.setPlaceholderText("仅可以输入整数")
        # 整数校验器[1,99]
        intValidator = QIntValidator(self)
        intValidator.setRange(1,99)
        # 设置校验器
        intLineEdit.setValidator(intValidator)


    # 浮点数
        doubleLineEdit = QLineEdit()
        # 布局
        formLayout.addRow("浮点数",doubleLineEdit)
        # 提示文本
        doubleLineEdit.setPlaceholderText("仅可以输入浮点数")
        # 整数校验器[1,99]
        doubleValidator = QDoubleValidator(self)
        doubleValidator.setRange(-360,360)
        # 正常显示浮点数
        doubleValidator.setNotation(QDoubleValidator.StandardNotation)
        # 设置精度,小数点后两位
        doubleValidator.setDecimals(2)
        # 设置校验器
        doubleLineEdit.setValidator(doubleValidator)

    # 字符
        validatorLineEdit = QLineEdit()
        # 布局
        formLayout.addRow("字符",validatorLineEdit)
        # 提示文本
        validatorLineEdit.setPlaceholderText("仅可以输入字符")  
        # 限制
        reg = QRegExp('[a-zA-z0-9]+$')
        validator = QRegExpValidator(self)
        validator.setRegExp(reg)
        # 设置校验器
        validatorLineEdit.setValidator(validator)

        # 应用表单布局
        self.setLayout(formLayout)

def main(self):
    app = QApplication(sys.argv)
    main = self()
    main.show()
    exit(app.exec_())

if __name__ == "__main__":
    main(testLinEdit_002)
    

猜你喜欢

转载自www.cnblogs.com/dandanduba/p/12516136.html