PyQt5-QLineEdit限制文本输入框

# encoding: utf-8
'''===================================================
@Project -> File : qt5003 -> QLineEditValidator.py
@IDE             : qt5003
@Author          : Mr. Batac
@Date            : 2020-03-18 21:18
@Desc            :限制文本输入框只能输入整数、浮点数、或者满足一定条件的字符串
======================================================'''


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(self)

        intLineEdit = QLineEdit()
        doubleLineEdit = QLineEdit()
        validatorLineEdit = QLineEdit()

        formLayout.addRow("整数类型", intLineEdit)
        formLayout.addRow("浮点类型", doubleLineEdit)
        formLayout.addRow("数字或者字母", validatorLineEdit)

        intLineEdit.setPlaceholderText("整数")
        doubleLineEdit.setPlaceholderText("浮点")
        validatorLineEdit.setPlaceholderText("字母或者数字")


        # 整数校验器

        intValidator = QIntValidator(self)
        intValidator.setRange(1, 99)

        # 浮点校验器 小数点后两位
        doubleValidator = QDoubleValidator(self)
        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)
        





if __name__ == '__main__':
    app = QApplication(sys.argv)

    mainView = QLineEditValidator()
    mainView.show()

    sys.exit(app.exec_())
发布了129 篇原创文章 · 获赞 11 · 访问量 4万+

猜你喜欢

转载自blog.csdn.net/Batac_Lee/article/details/104954344