博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
PyQt5之QLineEdit控件与校验器QValidator
阅读量:6238 次
发布时间:2019-06-22

本文共 1612 字,大约阅读时间需要 5 分钟。

Qvalidator常用来设置输入框的合法性,当合法时,才能成功输入并显示到输入框。

QValidator就是一个抽象类,其子类QIntValidator、QDoubleValidator分别用来设置合法int和合法Double,而还有一个子类QRegExpValidator是用来结合正则表达式,判断合法性。

以下代码是 限制IP和port的输入 以及一个限制输入浮点数 的例子:

from PyQt5.QtCore import QRegExpfrom PyQt5.QtGui import QRegExpValidator, QIntValidator, QDoubleValidatorfrom PyQt5.QtWidgets import *import sysclass QLineEditValidator(QWidget):    def __init__(self):        super().__init__()        self.initUI()    def initUI(self):        self.setWindowTitle("文本输入框的校验器")        # 实例化表单布局        formLayout = QFormLayout()        # 创建三个文本输入框        ipLineEdit = QLineEdit()        portLineEdit = QLineEdit()        doubleLineEdit = QLineEdit()                # 实例化整型校验器,并设置范围0~65536        portValidator = QIntValidator(0,65536)        # 设置 正则表达式,显示输入0.0.0.0~255.255.255.255        regExp = QRegExp('^((2[0-4]\d|25[0-5]|\d?\d|1\d{2})\.){3}(2[0-4]\d|25[0-5]|[01]?\d\d?)$')        # 实例化自定义校验器        ipValidator = QRegExpValidator(regExp)        # 实例化浮点校验器,并设置范围-360~360,精度为小数点两位        doubleValidator = QDoubleValidator(-360,360,2)        # 为文本输入框设置对应的校验器        ipLineEdit.setValidator(ipValidator)        portLineEdit.setValidator(portValidator)        doubleLineEdit.setValidator(doubleValidator)        # 文本输入框添加到表单布局上        formLayout.addRow("IP", ipLineEdit)        formLayout.addRow("Port", portLineEdit)        formLayout.addRow("Double",doubleLineEdit)        self.setLayout(formLayout)if __name__ == '__main__':    app = QApplication(sys.argv)    main = QLineEditValidator()    main.show()    sys.exit(app.exec_())

运行后结果:

 

转载于:https://www.cnblogs.com/jxu25/p/11002509.html

你可能感兴趣的文章
关于ps cs6的滤镜 (抽出)
查看>>
项目版本管理(TFS)删除项目
查看>>
modprobe
查看>>
AQS实现原理及成果(有图有真相)
查看>>
js操作cookie
查看>>
access数据库注入
查看>>
MySQL + Atlas --- 部署读写分离
查看>>
Zabbix 2.2 LTS升级到Zabbix 3.0 LTS
查看>>
TortoiseSVN的使用
查看>>
数据分页时每页首条记录索引如何计算
查看>>
CSICO 常见操作命令
查看>>
sql中两个时间类型相减得到的值
查看>>
FastDFS安装配置
查看>>
Python格式化输出的四种方法
查看>>
TypeScript入门
查看>>
记一次安装新版jre
查看>>
快速开始使用Python Thrift
查看>>
sql中的游标(一)
查看>>
nginx启动、重启、关闭
查看>>
CentOS 6.x 快速安装L2TP ***
查看>>