当前位置:首页 >> 编程语言 >> 【pyqt5学习】——QLineEdit控件输入校验器Validator、掩码setInputMask限制输入、textChanged信号,迅雷色

【pyqt5学习】——QLineEdit控件输入校验器Validator、掩码setInputMask限制输入、textChanged信号,迅雷色

0evadmin 编程语言 1
文件名:【pyqt5学习】——QLineEdit控件输入校验器Validator、掩码setInputMask限制输入、textChanged信号,迅雷色 【pyqt5学习】——QLineEdit控件输入校验器Validator、掩码setInputMask限制输入、textChanged信号

目录

1、输入校验器——限制输入框输入的内容

1)校验器类型——整数、浮点数、数字字母结合(正则)

2)步骤

3)结果

​编辑

 ​编辑

4)完整代码

 2、利用掩码进行输入的限制

0)掩码对照表

1)掩码解释

2)掩码Python实现

3)结果 

4)完整代码

 5)在Qt_designer中设置掩码

3、QLineEdit信号textChanged()


1、输入校验器——限制输入框输入的内容 1)校验器类型——整数、浮点数、数字字母结合(正则) from PyQt5.QtGui import QIntValidator,QDoubleValidator,QRegExpValidator

QIntValidator——整数

QDoubleValidator——浮点数类型

QRegExpValidator——数字和字母组合类型

2)步骤

①创建输入框

②创建校验器,并且设置输入的范围等

# 校验器设置## 整数intVal = QIntValidator()intVal.setRange(1,99)## 浮点数doubleVal = QDoubleValidator()doubleVal.setRange(-360,360)doubleVal.setNotation(QDoubleValidator.StandardNotation) # 标准显示doubleVal.setDecimals(2) # 设置浮点数精度## 利用正则设置字母和数字结合reg = QRegExp("[a-zA-Z0-9]+$")regVal = QRegExpValidator()regVal.setRegExp(reg)

③将校验器与校验器结合在一起 

# 将校验器和输入框绑定intLineEdit.setValidator(intVal)doubleLineEdit.setValidator(doubleVal)regLineEdit.setValidator(regVal)

3)结果   4)完整代码 # -*- coding: utf-8 -*-# @Time : 2022/5/20 16:44# @Author : @linlianqin# @Site : # @File : QLineEdit_learn.py# @Software: PyCharm# @description:from PyQt5.QtWidgets import QDialog,QLabel,QLineEdit,QPushButton,QFormLayout,QApplication,QWidgetfrom PyQt5.QtGui import QIntValidator,QDoubleValidator,QRegExpValidatorfrom PyQt5.QtCore import QRegExp# 校验器学习class QLineEditValLearn(QWidget):def __init__(self):super(QLineEditValLearn, self).__init__()self.InitUI()# 初始化界面def InitUI(self):self.setWindowTitle("QLineEdit校验器学习")# 创建多个输入框intLineEdit = QLineEdit()doubleLineEdit = QLineEdit()regLineEdit = QLineEdit()# 创建一个form布局formLayout = QFormLayout()# 将控件放入布局中formLayout.addRow("整数",intLineEdit)formLayout.addRow("浮点数",doubleLineEdit)formLayout.addRow("字母数字组合",regLineEdit)# 在输入框中显示灰色字体,用于提示intLineEdit.setPlaceholderText("整数")doubleLineEdit.setPlaceholderText("浮点数")regLineEdit.setPlaceholderText("字母数字组合")# 校验器设置## 整数intVal = QIntValidator()intVal.setRange(1,99)## 浮点数doubleVal = QDoubleValidator()doubleVal.setRange(-360,360)doubleVal.setNotation(QDoubleValidator.StandardNotation) # 标准显示doubleVal.setDecimals(2) # 设置浮点数精度## 利用正则设置字母和数字结合reg = QRegExp("[a-zA-Z0-9]+$")regVal = QRegExpValidator()regVal.setRegExp(reg)# 将校验器和输入框绑定intLineEdit.setValidator(intVal)doubleLineEdit.setValidator(doubleVal)regLineEdit.setValidator(regVal)# 将布局放入到里面self.setLayout(formLayout)if __name__ == '__main__':import sysapp = QApplication(sys.argv)demoWin = QLineEditValLearn()demoWin.show()sys.exit(app.exec_())  2、利用掩码进行输入的限制 0)掩码对照表

 

1)掩码解释

日期掩码、Mac地址掩码、许可证掩码、ip地址掩码等,根据自己的需求进行设置

2)掩码Python实现

分号前的是预设的掩码,分号后是在不输入的情况下的默认显示的字符(掩码)

# 设置掩码——掩码其实就是根据常见的模式设置好了显示的内容格式和长度ipLineEdit.setInputMask("000.000.000.000;_")macLineEdit.setInputMask("HH:HH:HH:HH:HH:HH;_")dateLineEdit.setInputMask("0000-00-00;*")licenseLineEdit.setInputMask(">AAAAA-AAAAA-AAAAA-AAAAA-AAAAA;#") 3)结果 

未输入前 

 输入部分后

 可以看到,输入了的地方就变成了输入内容,其余未输入的地方就还是默认格式(掩码),若删除输入的内容,显示的还是默认字符(掩码)

4)完整代码 # 掩码限制输入class QLineEditMaskLearn(QWidget):def __init__(self):super(QLineEditMaskLearn, self).__init__()self.InitUI()# 初始化界面def InitUI(self):self.setWindowTitle("QLineEdit校验器学习")# 创建多个输入框ipLineEdit = QLineEdit()macLineEdit = QLineEdit()dateLineEdit = QLineEdit()licenseLineEdit = QLineEdit()# 设置掩码——掩码其实就是根据常见的模式设置好了显示的内容格式和长度ipLineEdit.setInputMask("000.000.000.000;_")macLineEdit.setInputMask("HH:HH:HH:HH:HH:HH;_")dateLineEdit.setInputMask("0000-00-00;*")licenseLineEdit.setInputMask(">AAAAA-AAAAA-AAAAA-AAAAA-AAAAA;#")# 创建一个form布局formLayout = QFormLayout()# 将控件放入布局中formLayout.addRow("数字掩码",ipLineEdit)formLayout.addRow("mac掩码",macLineEdit)formLayout.addRow("日期掩码",dateLineEdit)formLayout.addRow("许可证掩码",licenseLineEdit)# 将布局放入到里面self.setLayout(formLayout)if __name__ == '__main__':import sysapp = QApplication(sys.argv)demoWin = QLineEditMaskLearn()demoWin.show()sys.exit(app.exec_())  5)在Qt_designer中设置掩码

3、QLineEdit信号textChanged()

textChanged()——当输入框中的文本内容发生改变时,会触发绑定的槽函数事件

输入框名称.textChanged.connect(槽函数)

协助本站SEO优化一下,谢谢!
关键词不能为空
同类推荐
«    2025年12月    »
1234567
891011121314
15161718192021
22232425262728
293031
控制面板
您好,欢迎到访网站!
  查看权限
网站分类
搜索
最新留言
文章归档
网站收藏
友情链接