【PyQt】10 QLineEdit

文章目录

  • 前言
  • 一、回显模式(EchoMode)
    • 1.1 四种回显模式
    • 1.2 代码展示
    • 运行结果
  • 二、校验器
    • 2.1 代码
    • 2.2 运行结果
  • 三、通过掩码限制输入
    • 3.1 代码
    • 3.2 运行结果
  • 总结


前言

1、QLineEdit 可以输入单行文字
2、回显模式
3、校验器
4、掩码输入


一、回显模式(EchoMode)

1.1 四种回显模式

1、Normal
输入什么,显示什么
2、NoEcho
输入信息,可以传达给计算机,但是不显示。
3、password
输入信息,可以传达给计算机,但是直接显示圆圈。
4、passwordEchoOnEdit
输入信息,先显示一段时间,然后变成掩码。

1.2 代码展示

'''
#Author :susocool
#Creattime:2024/2/9
#FileName:019 - QLineEdit
#Description:四种回显模式
'''
from PyQt5.QtWidgets import *
import sysclass QLineEditEchoMode(QWidget):def __init__(self):super(QLineEditEchoMode, self).__init__()self.initUI()def initUI(self):self.setWindowTitle('文本框的回显模式')formLayout = QFormLayout()normalLineEdit = QLineEdit()noEchoLineEdit = QLineEdit()passwordLineEdit = QLineEdit()passwordEchoOnEditLineEdit = QLineEdit()formLayout.addRow("Normal",normalLineEdit)formLayout.addRow("noEcho", noEchoLineEdit)formLayout.addRow("password", passwordLineEdit)formLayout.addRow("passwordEchoOnEdit", passwordEchoOnEditLineEdit )# setPlaceholderText() : 输入框(input)或文本区域(textarea)中的占位文本。normalLineEdit.setPlaceholderText('Normal')noEchoLineEdit.setPlaceholderText('NoEcho')passwordLineEdit.setPlaceholderText('password')passwordEchoOnEditLineEdit.setPlaceholderText('passwordEchoOnEdit')normalLineEdit.setEchoMode(QLineEdit.Normal)noEchoLineEdit.setEchoMode(QLineEdit.NoEcho)passwordLineEdit.setEchoMode(QLineEdit.Password)passwordEchoOnEditLineEdit.setEchoMode(QLineEdit.PasswordEchoOnEdit)self.setLayout(formLayout)if __name__ == '__main__':app = QApplication(sys.argv)main = QLineEditEchoMode()main.show()sys.exit(app.exec_())

运行结果

无输入
在这里插入图片描述
正常情况
在这里插入图片描述
已有输入,但是不显示
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

二、校验器

限制输入是整数、浮点数或者满足一定条件的字符串。

2.1 代码

'''
#Author :susocool
#Creattime:2024/2/9
#FileName:020-QlineEdit校验器
#Description: 校验器
'''
from PyQt5.QtWidgets import *
from PyQt5.QtGui import QIntValidator,QDoubleValidator,QRegularExpressionValidator
from PyQt5.QtCore import QRegularExpression     # 正则表达式
import sysclass QLineEditValidator(QWidget):def __init__(self):super().__init__()self.initUI()def initUI(self):self.setWindowTitle('校验器')# 创建表单布局formLayout = QFormLayout()intLineEdit = QLineEdit()doubleEdit = QLineEdit()validatoredit = QLineEdit()formLayout.addRow('整数布局',intLineEdit)formLayout.addRow('浮点类型',doubleEdit)formLayout.addRow('数字和字母',validatoredit)intLineEdit.setPlaceholderText('整数(1~99)')doubleEdit.setPlaceholderText('浮点型(-360~360)')validatoredit.setPlaceholderText('字母和数字')# 整数校验器intValitor = QIntValidator(self)intValitor.setRange(1,99)# 浮点数校验器doubleValidator = QDoubleValidator(self)doubleValidator.setRange(-360,360)doubleValidator.setNotation(QDoubleValidator.StandardNotation)           # 正常显示浮点数doubleValidator.setDecimals(2)      # 设置精度,小数点后两位# 字符和数字# 表示匹配任意一个字母(大小写不敏感)或数字字符。+表示匹配前面的模式一次或多次。$表示匹配输入的结尾位置。reg = QRegularExpression('[a-zA-z0-9]+$')validator = QRegularExpressionValidator(reg,self)validatoredit.setValidator(validator)# 设置校验器intLineEdit.setValidator(intValitor)doubleEdit.setValidator(doubleValidator)validatoredit.setValidator(validator)# 设置布局 !!!self.setLayout(formLayout)if __name__ == '__main__':app = QApplication(sys.argv)main = QLineEditValidator()main.show()sys.exit(app.exec_())

2.2 运行结果

在这里插入图片描述

三、通过掩码限制输入

PyQt5系列教程(28): QLineEdit 2
在这里插入图片描述

3.1 代码

'''
#Author :susocool
#Creattime:2024/2/10
#FileName:021-QLineEdit掩码
#Description: '''
from PyQt5.QtWidgets import *
import sysclass QLineEditMask(QWidget):def __init__(self):super().__init__()self.initUI()def initUI(self):self.setWindowTitle("用掩码限制QLineEdit控件输入")formLayout = QFormLayout()ipLineEdit = QLineEdit()macLineEdit = QLineEdit()dateLineEdit = QLineEdit()licenseLineEdit = QLineEdit()# 设置掩码# 一般ip是192.168.21.21 一般是三位数ipLineEdit.setInputMask('000.000.000.000;_')    # 没有输入的时候显示是下划线的形式macLineEdit.setInputMask('HH:HH:HH:HH:HH:HH;_')dateLineEdit.setInputMask('0000-00-00')licenseLineEdit.setInputMask('>AAAAA-AAAAA-AAAA-AAAAA-AAAAA;#')formLayout.addRow('数字掩码',ipLineEdit)formLayout.addRow('Mac掩码',macLineEdit)formLayout.addRow('日期掩码',dateLineEdit)formLayout.addRow('许可证掩码',licenseLineEdit)self.setLayout(formLayout)if __name__ == '__main__':app = QApplication(sys.argv)main = QLineEditMask()main.show()sys.exit(app.exec_())

3.2 运行结果

在这里插入图片描述


总结

这篇文章依旧没有总结

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

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

相关文章

k8s-资源限制与监控 15

资源限制 上传实验所需镜像 Kubernetes采用request和limit两种限制类型来对资源进行分配。 request(资源需求):即运行Pod的节点必须满足运行Pod的最基本需求才能 运行Pod。 limit(资源限额):即运行Pod期间,可能内存使用量会增加&#xff0…

Jupyter Notebook如何在E盘打开

Jupyter Notebook如何在E盘打开 方法1:方法2: 首先打开Anaconda Powershell Prompt, 可以看到默认是C盘。 可以对应着自己的界面输入: 方法1: (base) PS C:\Users\bella> E: (base) PS E:\> jupyter notebook方法2&#x…

跳表详解和实现|深挖Redis底层数据结构

文章目录 跳表前言项目代码仓库认识跳表跳表的实现思路跳表性能分析对比平衡树(avl和红黑树)和哈希表使用手册成员变量成员函数构造析构迭代器sizeclearemptyoperatorfindinserterase 跳表细节实现节点定义跳表结构定义构造、析构、拷贝构造和赋值重载si…

人工智能算法:理解其工作原理及其在现实世界中的应用

随着科技的飞速发展,人工智能(AI)已逐渐成为我们生活中不可或缺的一部分。从智能语音助手到自动驾驶汽车,再到医疗诊断系统,人工智能算法正以前所未有的速度改变着我们的世界。本文将带您深入探讨人工智能算法的工作原…

【MySQL】数据库的基础——数据库的介绍、MySQL的介绍和架构、SQL分类、MySQL的基本使用、MySQL的存储引擎

文章目录 MySQL1. 数据库的介绍1.2 主流数据库 2. MySQL的介绍2.1 MySQL架构2.2 SQL分类2.3 MySQL的基本使用2.4 MySQL存储引擎 MySQL 1. 数据库的介绍 数据库(Database,简称DB)是按照数据结构来组织、存储和管理数据的仓库。它是长期存储在计…

uni-app x,一个纯原生的Android App开发工具

uni-app x,下一代uni-app,一个神奇的产品。 用vue语法、uni的组件、api,以及uts语言,编译出了kotlin的app。不再使用js引擎和webview。纯纯的kotlin原生app。 uni-app x,让“跨平台开发性能不如原生”的这条曾广为流…

LLM之LangChain(七)| 使用LangChain,LangSmith实现Prompt工程ToT

如下图所示,LLM仍然是自治代理的backbone,可以通过给LLM增加以下模块来增强LLM功能: Prompter AgentChecker ModuleMemory moduleToT controller 当解决具体问题时,这些模块与LLM进行多轮对话。这是基于LLM的自治代理的典型情况,…

Linux 命令基础

Shell概述 Linux操作系统的Shell作为操作系统的外壳,为用户提供使用操作系统的接口。它是命令语言、命令解释程序及程序设计语言的统称。 Shell是用户和Linux内核之间的接口程序,如果把硬件想象成一个球体的中心,内核围绕在硬件的外层管理着…

keil调试出现cannot evaluate新思路

我在用最新的keil时也出现了这个问题,网上说的办法几乎没啥用,包括魔术棒的设置和将变量定义为全局变量,都没用。 这里我使用的是keil5.13,编译器是AC6.21,硬件是STM32F407VET6 可以看到,即使是定义为全局变…

问题:超声波纵波斜入射时,当入射角大于第一临界角小于第二临界角时,在第二介质内只有折射横波。 #微信#经验分享#其他

问题:超声波纵波斜入射时,当入射角大于第一临界角小于第二临界角时,在第二介质内只有折射横波。 参考答案如图所示

对于模糊查询的SQL,怎么优先返回等值记录

说明:记录一次SQL改进的方法,希望能对大家有启发。 场景 前端项目有一个输入框,根据输入的银行名称,去模糊查询对应的数据库表,返回结果集,显示到下拉列表中。 因为银行名称字段包括了分行名&#xff0c…

缓存穿透、缓存击穿与缓存雪崩

缓存穿透、缓存击穿与缓存雪崩 1.本质区别 缓存穿透指的是数据库不存在数据,导致无法缓存,每次查询都查数据库,数据库压垮 缓存击穿指的是缓存键值对key过期了,key过期期间,大量请求访问,不经过缓存&…

ONLYOFFICE桌面编辑器8.0新特性:PDF表单、RTL支持、Moodle集成、本地界面主题等

ONLYOFFICE是由领先的IT公司—Ascensio System SIA经验丰富的IT专家开发的项目。这是一款强大的在线编辑器,能够为提供高效的文本文档、电子表格、演示文稿、表单和 PDF 编辑工具。 继 ONLYOFFICE 文档 v8.0发布后,适用于 Linux、Windows 和 macOS 的免费…

C++中类的6个默认成员函数【构造函数】 【析构函数】

文章目录 前言构造函数构造函数的概念构造函数的特性 析构函数 前言 在学习C我们必须要掌握的6个默认成员函数,接下来本文讲解2个默认成员函数 构造函数 如果一个类中什么成员都没有,简称为空类。 空类中真的什么都没有吗?并不是&#xff0c…

电商网站基础布局——以小兔鲜为例

项目准备 /* base.css */ /* 內减模式 */ * {margin: 0;padding: 0;box-sizing: border-box; }/* 设置网页统一的字体大小、行高、字体系列相关属性 */ body {font: 16px/1.5 "Helvetica Neue", Helvetica, Arial, "Microsoft Yahei","Hiragino Sans…

Codeforces Round 106 D. Coloring Brackets 【区间DP + 记忆化搜索实现】

D. Coloring Brackets 约定 ∣ S ∣ ≤ 700 |S| \leq 700 ∣S∣≤700 题意 给定一个正则括号序列 s s s,我们需要求出合法的染色方案数。合法的条件为: 每个符号要么不染色,要么染红色,要么染蓝色对于每对配对的括号&#xf…

(十八)springboot实战——spring securtity注解方式的授权流程源码解析

前言 在上一节内容中,我们介绍了如何在FilterSecurityInterceptor过滤器中处理用户的授权流程,并分析了其源码,spring security还提供了方法级别的授权方式,通过EnableMethodSecurity注解启用权限认证流程,只需要在方…

Ivanti Pulse Connect Secure VPN SSRF(CVE-2023-46805)漏洞

免责声明:文章来源互联网收集整理,请勿利用文章内的相关技术从事非法测试,由于传播、利用此文所提供的信息或者工具而造成的任何直接或者间接的后果及损失,均由使用者本人负责,所产生的一切不良后果与文章作者无关。该…

Failed to construct ‘RTCIceCandidate‘ sdpMid and sdpMLineIndex are both null

最近在搞webrtc,在编写函数处理远端传递来的candidate时报错了,具体信息如下。国内关于webrtc的资料很少,所以去国外社区转了一圈,回来记录一下报错的解决方案 其实这个bug也好解决,根据报错信息可以判断是RTCIceCand…

Java 学习和实践笔记(5)

三种类型的变量: Java中常量的定义: 下面的这个加号表示连接的意思,也就是把前面的字符串常量和后面的变量值在显示时连在一起: 显示效果如下: 如果没有用这个加号,就会报错: