【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,QWidget
from PyQt5.QtGui import QIntValidator,QDoubleValidator,QRegExpValidator
from 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(槽函数)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/255395.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

PyOpenCL图像处理:Box模糊

为什么80%的码农都做不了架构师?>>> # -*- coding: utf-8 -*-from __future__ import absolute_import, print_function import numpy as np import pyopencl as cl import cv2 from PIL import Imagedef RoundUp(groupSize, globalSize): r globalSi…

MySQL日志分类及性能分析你应该知道的知识

为什么80%的码农都做不了架构师?>>> MySQL日志记录了MySQL数据库日常操作和错误信息,MySQL总共有四种类型的日志,通过分析这些日志可以查询到MySQL的运行情况、用户操作、错误信息等,可以为MySQL的管理和优化提供必要…

android基础组件----Button的使用

按钮由文本或图标(或文本和一个图标)组成,当用户触摸到它时,会发生一些动作。今天我们开始Button的学习。少年的爱情永远不够用,一杯酒足以了却一件心事。 Button的简要说明 根据你是否想要一个带有文本的按钮&#xf…

【pyqt5学习】——QTextEdit控件学习:获取文本、添加文本

目录 1、QTextEdit控件介绍 2、QTextEdit控件添加文本、添加HTML格式 3、QTextEdit控件获取文本、获取HTML格式文本 4、案例 1)完整代码 2)效果 1、QTextEdit控件介绍 QTextEdit控件是一个支持多行输入的输入框,支持HTML进行格式的设置 2…

空间变化

空间变化 第一种:圆 第二种: 矩形 第三种:正五边形 第四种:正六边形 第五种:腰圆 算法: 在规则图形(不包括圆心-直径法)中,等于或者超过三个点。一般的,利用p1,p2,p3来建立一个用户…

【pyqt5学习】——QAbstractButton学习(普通按钮QPushButton、工具按钮QToolButton、单选按钮QRadioButton、复选框按钮QCheckBox)

目录 1、按钮介绍 2、普通按钮QPushButton学习 1)特殊模式——开关按钮(toggle) ①将按钮设置为可选择的 ②将按钮按下 判断按钮是否被按下 isChecked() 2)给按钮设置前置图标setIcon() ​编辑 3)按钮信号 4)完…

挖财后端架构简介

挖财后端技术用的主要是比较大众的东西,Web容器用Tomcat,框架主要是Spring MVC,也有少量的Play,中间服务层是Dubbo,微容器用Spring Boot,服务注册这一块是用ZooKeeper,核心业务开发方式还是围绕…

【pyqt5学习】——QcomboBox学习

目录 1、添加条目: 1)逐一添加 2)批量添加 3)获取当前选中的索引 4)获取当前选中文本 5)根据索引获取文本 6)统计条目总数 7)信号——当前选中的索引发生改变currentIndexChanged() 2、…

vSphere Client 编辑虚拟机属性的问题

vSphere Client 编辑虚拟机属性的问题 编辑虚拟机属性的时候, 出现: vpxclient.vmconfig.cpuid 初始值设置异常之类的,重置了, 并将注册表中的所有vmvare 相关键值删除了, 还是一样的。。 后面参照https://kb.vmware.c…

【pyqt5学习】—— 滑动条Qslider、计数器QSpinBox学习

目录 1、滑动条QSlider 1)常用属性 2)实例——利用滑动条来实现字体大小的修改 ​编辑 2、计数器QSpinBox 1)属性方法 2)实例 1、滑动条QSlider 1)常用属性 self.slider QSlider(Qt.Horizontal)# 设置最小值self.slider.setMinimum(2)…

【pyqt5学习】——对话框QDialog学习(QMessageBox、QColorDialog、QFIleDialog、QFontDialog、QInputDialog)

目录 1、对话框QDialog类别 2、通用对话框 ​编辑 3、消息对话框QMessageBox() 1)消息对话框QMessageBox类型 2)案例 ​编辑 4、输入对话框QInputDialog 1) 类型 2)案例 5、字体格式对话框QFontDialog 6、颜色对话框QColorDialog 1&…

使用 Mesos 管理虚拟机

摘要 为了满足渲染、基因测序等计算密集型服务的需求,UCloud 推出了“计算工厂”产品,让用户可以快速创建大量的计算资源(虚拟机)。该产品的背后,是一套基于 Mesos 的计算资源管理系统。本文简要介绍该系统的结构、Mes…

Val编程-套接字

套接字的介绍:http://zh.wikipedia.org/wiki/Berkeley%E5%A5%97%E6%8E%A5%E5%AD%97 主要分为客户端和服务器。客户端一般是需要主动去链接,需要配置服务器的IP和端口。服务器是被动响应,需要打开相应的端口。端口一般不推荐使用系统端口和常用…

【pyqt5学习】——Qpainter控件学习(文本、图像、各种图形)

目录 1、作用及应用步骤 2、绘制文本drawText() 3、像素级别绘制点(正弦曲线为例) 4、绘制不同样式的直线 5、绘制弧形、圆形、扇形、图像等 6、画刷填充区域QBrush 1、作用及应用步骤 QPainter是一个用于绘制的类,该类可以用于绘制&…

反向代理与Real-IP和X-Forwarded-For(转)

如下图所示,客户端通过Nginx Proxy1 和 Nginx Proxy2 两层反向代理才访问到具体服务Nginx Backend(或如Tomcat服务)。那Nginx Backend如何才能拿到真实客户端IP呢? 接下来我们来看看如何才能获取到客户端真实IP。 场景1  场景1是…

Android studio打开之后 cannot load project: java.lang.NUllpointerException

参考来源:http://bbs.csdn.net/topics/391014393 关闭网络,重新打开Android studio就好了。(但是原因不清楚是为什么?) Internal error. Please report to http://code.google.com/p/android/issuescom.intellij.ide.p…

Val编程-任务编程

不同任务之间可以通过一个标志符来实现互斥事件。 程序代码&#xff1a; Task2 <span style"font-size:12px;">beginwhile truewait(bTaskFlag)cls()gotoxy(1,1)put("这是Task2")gotoxy(1,2)if bTaskFlagput("BFlag:true ")elseput(&…

【pyqt5学习】——拖拽功能(DragDrop)、剪切板(QApplication.clipboard)

目录 1、拖拽功能&#xff08;Drag&Drop&#xff09; 2、剪切板&#xff08;QApplication.clipboard&#xff09; 1、拖拽功能&#xff08;Drag&Drop&#xff09; 选择文本输入框中的文本&#xff0c;移动到下拉框中自动添加步骤&#xff1a; 1、将文本输入框设置为可…

Val编程-特殊函数使用

Waitendmove()和$Waitendmove()使用心得 这是两个部分&#xff0c;程序运行部分和运动堆栈部分&#xff0c;waitendmove是两个部分进行交互的一个函数。 一般情况下waitendmove()速度会降到0&#xff0c;相当于blend等于off. 代码&#xff1a; begincls()userPage()title("…

【pyqt5学习】——QDateTimeEdit控件学习

目录 1、同时显示日期时间QDateTime 2、只显示日期QDate 3、只显示时间QTime 4、设置显示的格式setDisplayFormat 5、 QDateTimeEdit常用信号 6、实例 1、同时显示日期时间QDateTime # 同时显示日期时间dateTimeEdit1 QDateTimeEdit()dateTimeEdit2 QDateTimeEdit(QDat…