目录

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.pswp.cn/news/255395.shtml
繁体地址,请注明出处:http://hk.pswp.cn/news/255395.shtml
英文地址,请注明出处:http://en.pswp.cn/news/255395.shtml

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

相关文章

Call requires API level 3 (current min is 1)

结果出现“Call requires API level 3 (current min is 1): 解决方法: 在工程上点击右键 -> Android Tools -> Clear Lint Markers,即可。转载于:https://www.cnblogs.com/qianyukun/p/5458331.html

Product文本格式说明

使用txt进行产品信息的说明。 Product文本格式说明 //**************************************************** //产品信息 //固定标识符全部大写,全部在等号()前面 //****************************************************** PRODUCTTest //…

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…

【python bug修复】——Script file ‘D:\softwares_install\Anaconda3\envs\PartTimes\Scripts\pip-scrip

目录 1、问题描述 2、问题解决 1)下载pip安装脚本 2) 运行安装pip脚本 3) 下载库 1、问题描述 利用pip命令进行库的安装时,突然出现这个问题,之前使用还好好的 Script file D:\softwares_install\Anaconda3\envs\P…

项目中的那些事---下载pdf文件

最近做了一个下载pdf文档的需求&#xff0c;本以为使用HTML5中<a>标签的属性download就能简单搞定&#xff0c;不料IE竟然不支持这一简单粗暴的H5新特性&#xff0c;而是直接在网页中打开&#xff0c; 于是各种搜索之后得出以下结论&#xff1a;IE中下载文档时&#xff0…

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

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

利用三个点(trsf)来实现各种规则图形的实现

在Val3,是使用trsf(x,y,z,rx,ry,rz)来实现三维空间点的位置与方向。 其中第一点和第二点位置很重要&#xff0c;第三点是用来确定方向。根据这三个点先确定一个用户坐标系。 在这个坐标系中&#xff0c;实现圆&#xff0c;三角形&#xff0c;矩形&#xff0c;腰圆&#xff0c;正…

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

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

@Repository、@Service、@Controller 和 @Component

Repository 、Service 、 Controller 、Component 这四个Spring注解 ,用于把加了注解的 类 加入到Spring 容器中管理&#xff0c;节省了xml 的繁重的配置&#xff0c;尽管如此xml 同样可以实现&#xff08;一般建议先搞懂xml&#xff09;。 Repository Repository注解便属于最先…

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

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

空间变化

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

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

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

java 企业 网站源码 模版 屏幕自适应 有前后台 springmvc SSM 生成静态化

前台&#xff1a; 支持四套模版&#xff0c; 可以在后台切换点击&#xff1a;获取地址QQ 313596790官网 http://www.fhadmin.org/系统介绍&#xff1a;1.网站后台采用主流的 SSM 框架 jsp JSTL&#xff0c;网站后台采用freemaker静态化模版引擎生成html2.因为是生成的html&…

挖财后端架构简介

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

【pyqt5学习】——QcomboBox学习

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

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

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

Val编程-系统架构

利用Val可以编写相对大型软件。 界面书写&#xff0c;运动轨迹规划&#xff0c;外部通讯&#xff0c;进程交互&#xff0c;文本读写.... GlobalData可以利用一个库来作为一个公用库&#xff0c;实现各个库的数据交互。 PublicFunc书写基本的通用函数来作为基本函数&#xff0c;…

poj 1256 Anagram—next_permutation的神奇应用

题意&#xff1a;给你一条字符串&#xff0c;让你输出字符串中字符的全排列&#xff0c;输出的顺序要按它给的奇葩的字典序。 题解&#xff1a;要输出全排列&#xff0c;暴力dfs可以过&#xff0c;但要注意题目的字典序以及相同字符的情况。如果用next_permutation()处理可以简…

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

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

shell常用命令之curl: -w,–write-out参数详解

顾名思义&#xff0c;write-out的作用就是输出点什么。curl的-w参数用于在一次完整且成功的操作后输出指定格式的内容到标准输出。 输出格式由普通字符串和任意数量的变量组成&#xff0c;输出变量需要按照%{variable_name}的格式&#xff0c;如果需要输出%&#xff0c;double一…