Qt扫盲-QLineEdit理论总结

news2024/11/29 14:55:24

QLineEdit理论总结

    • 1. 简述
    • 2. 输入模式
    • 3. 输入限制
    • 4. 文本操作槽函数
    • 3. 信号
    • 4. 快捷键
    • 5. 外观

1. 简述

QLineEdit 是一个有用的编辑功能类,主要是处理输入和编辑单行纯文本 ,主要是单行哦,就用来输入简单,短小的字符串。内部其实已经封装好了包括撤消和重做、剪切和粘贴以及拖放等功能。也就是鼠标右键菜单,已以及键盘快捷键的功能。同时QLineEdit还支持对内容的输入进行校验之类的、显示形式呀都有用得到的。
在这里插入图片描述

2. 输入模式

通过更改QLineEdit的 echoMode(),它也可以用作“只写”字段,用于密码等输入。

输入模式含义
QLineEdit::Normal默认的就是输入所见所得
QLineEdit::NoEcho和 linux 输入用户密码一样,输入了但是没得回显的哈
QLineEdit::Password输入的字符串是用 ● 表示,不编辑的时候也是带密码的字符,再编辑的时候也不会全部清空
QLineEdit::PasswordEchoOnEdit在编辑时显示输入的字符,否则显示带有密码的字符,重新输入的时候就全部清空了

效果如下
在这里插入图片描述

3. 输入限制

文本的长度可以限制为 maxLength()。可以使用 validator() 或 inputMask() 或两者任意约束文本。样子就像下面,下面的输入框都是带了Mask的,输入数据后的样子
在这里插入图片描述
输入掩码很像的匹配规则很像正则表达式的。还是一样的,虽然有这个输入的mask,但是我们还是可以通过 text() 获取去掉 mask中的分隔符后 也就是 ‘_’ 的真实数据,如果想获取带mask的数据的话就可以用 displayText() 来得到
在这里插入图片描述

输入掩码是输入模板字符串。就包括以下元素:

组件含义
Mask Characters定义在此位置被视为有效的输入字符的类别
Meta Characters各种特殊含义
Separators所有其他字符都被视为不可变的分隔符

Mask Characte 的详细

组件含义
A字母类别的字符,例如 A-Z、a-z。
a允许但不是必需的字母类别的特征。
N字母或数字类别的字符,例如 A-Z、a-z、0-9。
n允许但不是必需的字母或数字类别的字符。
X所需的任何非空字符。
x允许但不是必需的任何非空字符。
9所需数字类别的字符,例如 0-9。
0允许但不是必需的数字类别的字符。
D数字类别的字符,并且需要大于零,例如 1-9
d允许大于零的“数字”类别字符,但不是必需的,例如 1-9。
#允许使用数字类别或加号/减号的字符,但不是必需的。
H需要十六进制字符。A-F,A-F,0-9。
h允许使用十六进制字符,但不是必需的。
B需要二进制字符。0-1.
b允许使用二进制字符,但不是必需的。

Mask Characte 的详细

组件含义
>以下所有字母字符均为大写。
<以下所有字母字符均为小写。
!关闭大小写转换。
;c终止输入掩码并将空白字符设置为 c。
[ ]{ }保留。
\使用 转义上面列出的特殊字符,以将它们用作分隔符。把转义字符当普通字符使用

掩码例子

Mask含义
000.000.000.000;_限制IP地址; 占位符 _
HH:HH:HH:HH:HH:HH;_MaC 地址 占位符为 _
0000-00-00日期; 占位符 space空白符
>AAAAA-AAAAA-AAAAA-AAAAA-AAAAA;#License 号码; 占位符 是 #,同时 会自动把 小写字母转成大小写字母.

结果如下
在这里插入图片描述

4. 文本操作槽函数

您可以使用 setText() 或 insert() 修改文本。使用 text() 获取;这个是保存真实数据的函数
显示的文本使用 displayText() 获取。真的就只是显示这个显示的文本。这个就和显示模式有关系的。如果 echoMode 为 Normal 则返回与 text() 相同的值;如果 EchoMode 是 Password 或 PasswordEchoOnEdit,则返回一串依赖于平台的密码掩码字符 “******”;如果 EchoMode 为 NoEcho,则返回一个空字符串 “ ”。

可以使用 setSelection() 或 selectAll() 选择文本,并且可以对所选内容进行 cut()、copy() 和 paste()。文本可以与 setAlignment() 对齐。

常用的槽函数

函数名功能
clear()清除字符串
copy() const复制所有字符串
cut()剪切 选中字符串
paste()粘贴字符串
redo()恢复上一次操作
selectAll()全选
setText(const QString &)设置文本
undo()撤销上一次操作

3. 信号

当文本更改时,发出文本更改()信号;当文本更改而不是通过调用 setText() 时,会发出 textEdited() 信号;当光标移动时,会发出光标位置更改()信号;当按下 Return 或 Enter 键时,会发出 returnPressed() 信号。
编辑完成后,由于QLineEdit失去焦点或按下 Return/Enter 键,都会发出 editFinish() 信号。

请注意,如果在QLineEdit上设置了验证器,则只有在验证器返回 QValidator::Acceptable 时才会发出 returnPressed()/editDone() 信号。

4. 快捷键

默认键绑定如下所述。QLineEdit还提供了一个上下文菜单(通常由鼠标右键单击调用),其中显示了其中一些编辑选项。

按键含义
Left ArrowMoves the cursor one character to the left.
Shift+Left ArrowMoves and selects text one character to the left.
Right ArrowMoves the cursor one character to the right.
Shift+Right ArrowMoves and selects text one character to the right.
HomeMoves the cursor to the beginning of the line.
EndMoves the cursor to the end of the line.
BackspaceDeletes the character to the left of the cursor.
Ctrl+BackspaceDeletes the word to the left of the cursor.
DeleteDeletes the character to the right of the cursor.
Ctrl+DeleteDeletes the word to the right of the cursor.
Ctrl+ASelect all.
Ctrl+CCopies the selected text to the clipboard.
Ctrl+InsertCopies the selected text to the clipboard.
Ctrl+KDeletes to the end of the line.
Ctrl+VPastes the clipboard text into line edit.
Shift+InsertPastes the clipboard text into line edit.
Ctrl+XDeletes the selected text and copies it to the clipboard.
Shift+DeleteDeletes the selected text and copies it to the clipboard.
Ctrl+ZUndoes the last operation.
Ctrl+YRedoes the last undone operation.

5. 外观

还有 placeholderText 这个属性,通过 setPlaceholderText() 来设置QLineEdit 编辑显示灰色占位符文本,默认情况下是空字符,需要自己手动设置的。
在这里插入图片描述

还有就是 清空按钮是否显示 可以用 后面这个函数设置 setClearButtonEnabled()
在这里插入图片描述

还有自动补全的功能。后面会专门记录一下 QCompleter 这个补全器

默认情况下,QLineEdits具有由平台样式指南指定的外边框;您可以通过调用 setFrame(false) 将其关闭。
但是我不推荐这么做,一般他们的做法就是用的QSS来美化完成的。

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

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

相关文章

极客时间Kafka - 09 Kafka Java Consumer 多线程开发实例

文章目录1. Kafka Java Consumer 设计原理2. 多线程方案3. 代码实现4. 问题思考目前&#xff0c;计算机的硬件条件已经大大改善&#xff0c;即使是在普通的笔记本电脑上&#xff0c;多核都已经是标配了&#xff0c;更不用说专业的服务器了。如果跑在强劲服务器机器上的应用程序…

JSP ssh科研管理系统myeclipse开发mysql数据库MVC模式java编程计算机网页设计

一、源码特点 JSP ssh科研管理系统是一套完善的web设计系统&#xff08;系统采用ssh框架进行设计开发&#xff09;&#xff0c;对理解JSP java编程开发语言有帮助&#xff0c;系统具有完整的源代码和数据库&#xff0c;系统主要采用B/S模式开发。开发环境为TOMCAT7.0,Myec…

Core Scheduling

Core Scheduling要解决什么问题&#xff1f; core scheduling是v5.14中新增的功能&#xff0c;下图是内核数据结构为该功能所添加的字段。 为什么有core scheduling呢&#xff1f;因为当开启超线程(HyperThreading)时&#xff0c;一个物理核就变成了两个逻辑核&#xff0c;但&…

postgres 源码解析43 元组的插入流程详解 heap_insert

本文讲解postgres中元组的插入流程&#xff0c;深入了解其实现原理。同时此过程涉及元组xmin/xmax与标识位的设置细节&#xff0c;与事务的可见性部分密切相关相关&#xff0c;借此复习一下。 heappage结构 执行流程框架图 heap_prepare_insert 该函数执行内容较为简单&#…

课设项目之——教学辅助系统(学生考试监考系统)

在考试场中为学生监考十分枯燥&#xff0c;因此&#xff0c;建立一个可靠的作弊检测系统来识别学生是否存在作弊行为。 使用一个名为 Yolo3 的训练模型和一个名为 coco 的数据集&#xff0c;我们测试了考场中学生的书籍和手机&#xff0c;并将他们标记为作弊者。 使用haarcasc…

如何将dxf或dwg等CAD文件与卫星影像地图叠加进行绘图设计?

引言&#xff1a; 在测绘、电力、水利、规划或道路设计等GIS相关行业中&#xff0c;通常会用AutoCAD进行矢量地图数据的绘制&#xff0c;而这些地图数据通常又是建立在投影平面坐标的基础上进行绘制的。 为了确保地图数据的准确性与精度的要求&#xff0c;这些地图数据经常会…

将一个乱序数组变为有序数组的最少交换次数

给定一个包含1-n的数列&#xff0c;通过交换任意两个元素给数列重新排序。求最少需要多少次交换&#xff0c;能把数组排成按1-n递增的顺序 总之就是将这个位置应该出现的元素和这个位置现在的元素交换位置 代码实现&#xff1a; 核心&#xff1a;记住一点&#xff0c;hashmap用…

【debug】时序预测的结果都是一个趋势

时序预测的结果都是一个趋势现象原因solutionother solutions现象 预测的是一个序列。 在测试集中随机取20个来看&#xff0c;所有的预测序列都是一个趋势&#xff0c;但是大小有所区别。 举例图片 原因 目前来看是数据的问题&#xff0c;应该是样本不均衡&#xff0c;某一…

简单个人网页制作 个人介绍网页模板 静态HTML留言表单页面网站模板 大学生个人主页网页

&#x1f389;精彩专栏推荐&#x1f447;&#x1f3fb;&#x1f447;&#x1f3fb;&#x1f447;&#x1f3fb; ✍️ 作者简介: 一个热爱把逻辑思维转变为代码的技术博主 &#x1f482; 作者主页: 【主页——&#x1f680;获取更多优质源码】 &#x1f393; web前端期末大作业…

[ Linux ] 一篇带你理解Linux下线程概念

目录 1.Linux线程的概念 1.1什么是线程 1.1.1如何验证一个进程内有多个线程&#xff1f; 1.2线程的优点 1.3线程的缺点 1.4 线程异常 1.5 线程用途 2.Linux进程与线程 2.1进程和线程 2.2 进程和线程的关系 2.3如何看待之前学习的单进程&#xff1f; 1.Linux线程的概…

迪杰斯特拉算法求图的最短路径(java)

迪杰斯特拉算法 图的最短路径的解法 单源最短路径 从一个点开始&#xff0c;可以找到其中任意一个点的最短路径。 多源最短路径 从任何一个点开始&#xff0c;可以找到其中任何一个点的最短路径。 解题过程 给定一个带权有向图G(G, V), 另外&#xff0c;还给定 V 中的一…

力扣(LeetCode)1832. 判断句子是否为全字母句(C++)

哈希集合1 哈希集合记录 262626 个字母是否出现&#xff0c;一次遍历字符串&#xff0c;维护哈希集合&#xff0c;同时维护答案。遍历完成&#xff0c;仅当答案等于 262626 &#xff0c;句子是全字母句。 class Solution { public:bool checkIfPangram(string sentence) {boo…

轻松提高性能和并发度,springboot简单几步集成缓存

目录 1、缘由 2、技术介绍 2.1、技术调研 2.2、spring支持的cache 2.3、cache的核心注解 2.3.1 EnableCaching 2.3.2 Cacheable 2.3.3 CachePut 2.3.4 CacheEvict 2.4 cache的架构 2.5 cachemanager的实现类 3、搞个例子 3.1 为什么使用redis 作为缓存 3.2 代码走起…

【虚幻引擎】UE4/UE5数字孪生与前端Web页面匹配

一、数字孪生 数字孪生是一种多维动态的数字映射&#xff0c;可大幅提高效能。数字孪生是充分利用物理模型、传感器更新、运行历史等数据&#xff0c;集成多学科、多物理量、多尺度、多概率的仿真过程&#xff0c;在虚拟空间中完成对现实体的复制和映射&#xff0c;从而反映物理…

MySQL常用窗口函数

1、窗口函数概念 窗口的概念非常重要&#xff0c;它可以理解为记录集合&#xff0c;窗口函数也就是在满足某种条件的记录集合上执行的特殊函数对于每条记录都要在此窗口内执行函数&#xff0c;有的函数随着记录不同&#xff0c;窗口大小都是固定的&#xff0c;这种属于静态窗口…

c语言:枚举类型—enum

枚举类型一.常见形式二.枚举和宏定义三.枚举的意义四.插个小知识一.常见形式 这里举一个例子&#xff0c;我想要枚举颜色 注意一下细节&#xff0c;所有成员间用逗号隔开&#xff0c;最后一个成员后不加标点符号 这里看上去和定义结构体和联合体的样式一样&#xff0c;但其实前…

minio安装部署和minIO-Client的使用

minio安装部署和minIO-Client的使用 一、服务器安装minio 1.进行下载 下载地址&#xff1a; GNU/Linux https://dl.min.io/server/minio/release/linux-amd64/minio2.新建minio安装目录&#xff0c;执行如下命令 mkdir -p /home/minio/data把二进制文件上传到安装目录后&a…

【PAT甲级 - C++题解】1128 N Queens Puzzle

✍个人博客&#xff1a;https://blog.csdn.net/Newin2020?spm1011.2415.3001.5343 &#x1f4da;专栏地址&#xff1a;PAT题解集合 &#x1f4dd;原题地址&#xff1a; 题目详情 - 1128 N Queens Puzzle (pintia.cn) &#x1f511;中文翻译&#xff1a;皇后问题 &#x1f4e3;…

第9章 无线网络和移动网络

目录 9.1 无线局域网 WLAN 9.1.1 无线局域网的组成 1. 无线局域网 WLAN (Wireless Local Area Network) 2. IEEE 802.11 3. 移动自组网络 9.1.2 802.11 局域网的物理层 9.1.3 802.11 局域网的 MAC 层协议 1. CSMA/CA 协议 2. 时间间隔 DIFS 的重要性 3. MAC两个子层…

acwing基础课——Floyd

由数据范围反推算法复杂度以及算法内容 - AcWing 常用代码模板3——搜索与图论 - AcWing 基本思想&#xff1a; floyd算法的原理是基于动态规划的基础上实现的&#xff0c;因为是稠密图我们通过邻接矩阵来存储&#xff0c;我们将各点距离初始化为正无穷(该点到自己的距离为0)&…