Qt QLineEdit单行输入框用法详解

article/2025/11/9 5:34:45

Qt QLineEdit单行输入框用法详解

QLineEdit 是 Qt 提供的一个控件类,它直接继承自 QWdiget 类,专门用来创建单行输入框,如下图所示:

在这里插入图片描述

图 1 单行文本输入框

实际开发中,我们经常用到 QLineEdit 输入框,比如接收用户输入的个人信息、账户信息、角色名称等,就可以用 QLineEdit 实现。

QLineEdit单行输入框的创建

每个单行输入框都是 QLineEdit 类的一个实例对象,QLineEdit 类提供有两个构造函数,分别是:

QLineEdit(QWidget *parent = Q_NULLPTR)
QLineEdit(const QString &contents, QWidget *parent = Q_NULLPTR)

contents 参数用于指定输入框中的文本内容;parent 参数用于指定新建输入框控件的父窗口,新建输入框将会内嵌到父窗口上,作为父窗口的一个子控件。当然,我们也可以不指定父窗口,那么新建的输入框就会作为独立的窗口。

在 QLineEdit 输入框中,用户可以直接输入一行文本,也可以粘贴一行文本,还可以修改输入框内的文本。某些实际场景中,QLineEdit 输入框还可以对用户输入的内容加以限定,比如:

限定文本的长度,例如用户最多可以输入 20 个字符;

输入文本的格式,例如用户输入出生日期时,必须按照“yy-mm-dd”的格式输入;

输入的文本内容,例如当前输入框仅允许用户输入数字,或者只允许用户输入英文字符。

QLineEdit单行输入框的使用

QLineEdit 类的内部提供了很多实用的属性和方法,同时还从 QWidget 父类处继承了一些属性和方法。

下表列出了 QLineEdit 类对象经常调用的一些属性以及它们各自的含义:

表 1 QLineEdit常用属性

属 性含 义
text保存输入框中的文本。该属性的值可以通过 text() 方法获取,也可以通过 setText(const QString &) 方法修改。
maxLength设置输入框中最多可以放置的文本长度。当文本长度超出最大限度后,超出部分将被丢弃。默认情况下,maxLength 的值为 32767。该属性的值可以通过 maxLength() 函数获得,也可以通过 setMaxLength(int) 方法修改。
placeholderText设置提示信息,例如当用户未选中输入框时,输入框中显示“请输入…”,而用户选中输入框时,“请输入…” 随之消失。该属性的值可以通过 placeholderText() 方法获取,也可以通过 setPlaceholderText(const QString &) 方法修改。
clearButtonEnabled当输入框中有文本时,输入框的右侧可以显示一个“一键清除”按钮。该属性的默认值为 false,即输入框中不会自动显示清除按钮。该属性的值可以通过 isClearButtonEnabled() 方法获取,也可以通过 setClearButtonEnabled(bool enable) 方法修改。
echoMode设定输入框中文本的显示样式,该属性的可选值有以下几个:QLineEdit::Normal:正常显示所输入的字符,此为默认选项。QLineEdit::NoEcho:不显示任何输入的字符,常用于密码类型的输入,且长度保密QLineEdit::Password:显示与平台相关的密码掩饰字符,而不是实际输入的字符。当用户重新点击输入框时,可以紧接着之前的文本继续输入。QLineEdit::PasswordEchoOnEdit:编辑时正常显示输入的字符,编辑完成后改为用密码掩饰字符显示。当用户重新点击输入框时,不能紧接着之前的文本继续输入。该属性的是可以通过 echoMode() 方法获取,也可以通过 setEchoMode(EchoMode) 方法修改。
frame控制输入框的边框。默认情况下,输入框是带有边框的。该属性的值可以通过 hasFrame() 方法获取,也可以通过 setFrame(bool) 方法修改。

除了上表提到的获取和修改属性值的方法外,QLineEdit 类还提供了一些功能实用的方法,例如:

表 2 QLineEdit常用方法

成员方法功 能
move(int x, int y)指定输入框位于父窗口中的位置。
setValidator(const QValidator *v)限制输入框中的文本内容,比如输入框只包含整数。
setReadOnly(bool)设置输入框是否进入只读状态。在只读状态下,用户仍可以采用粘贴、拖拽的方式向输入框中放置文本,但无法进行编辑。
setAlignent(Qt::Alignment flag)设置输入框中输入文本的位置。

QLineEdit单行输入框的信号和槽

QLineEdit 类提供了几个信号函数,分别对应用户的几种输入状态。

表 3 QLineEdit信号函数

信号函数功 能
textEdited(const QString &text)当用户编辑输入框中的文本时,此信号就会触发,text 参数即为用户新编辑的文本。注意,当程序中试图通过 setText() 方法修改输入框中的文本时,不会触发此信号函数。
textChanged(const QString &text)只要输入框中的文本内容发生变化,就会触发此信息。
returnPressed()用户按下回车键时,会触发此信号。
editingFinished()用户按下回车键,或者鼠标点击输入框外的其它位置时,会触发此信号。

QLineEdit 类常用的槽函数有以下几个:

表 4 QLineEdit槽函数

槽函数功 能
clear()清空文本框中的内容。
setText(const QString &)重新指定文本框中的内容。

QLineEdit单行输入框的用法示例

下面的实例给大家演示了 QLineEdit 单行输入框控件的基本用法,同时还演示了几个成员方法的用法。

#include <QApplication>
#include <QWidget>
#include <QLineEdit>
using namespace std;
int main(int argc, char *argv[])
{QApplication a(argc, argv);//创建一个窗口,作为输入框的父窗口QWidget widget;//设置窗口的标题widget.setWindowTitle("QWidget窗口");//接下来,分别创建两个输入框,用于让用户分别输入账号和密码//创建账号输入框QLineEdit lineEdit(&widget);//指定输入框位于父窗口中的位置lineEdit.move(100,100);//设置提示信息lineEdit.setPlaceholderText("请输入账号...");//让输入框显示“一键清除”按钮lineEdit.setClearButtonEnabled(true);//创建密码输入框QLineEdit lineEditPass(&widget);lineEditPass.setPlaceholderText("请输入密码...");lineEditPass.move(100,150);//指定文本显示方式,保护用户账号安全lineEditPass.setEchoMode(QLineEdit::Password);//指定窗口的尺寸和显示文字的大小widget.resize(500,300);widget.setFont(QFont("宋体",16));widget.show();return a.exec();
}

运行结果为:
在这里插入图片描述

图 2 运行结果


http://chatgpt.dhexx.cn/article/DDREoHW0.shtml

相关文章

idea修改单行注释颜色

1.idea修改注释颜色 idea修改单行注释颜色&#xff1a;settings->Editor->Color Scheme->Java->Block comment->右边Foreground

html中单行文本,利用css实现单行文本文字两端对齐

日常使用中我们可以用 text-align: justify; 实现文本两端对齐效果。 但是该属性有一个问题&#xff0c;不支持单行文本的两端对齐&#xff0c;只有达到2行或者以上才会有效。 所以需要采用下面两种方法实现单行文本两端对齐效果&#xff1a; 利用伪类 :after 实现&#xff1a;…

python创建单行文本框_PyQt5每天必学之单行文本框

本文实例为大家分享了PyQt5单行文本框展示的具体代码&#xff0c;供大家参考&#xff0c;具体内容如下 QLineEdit 是一个允许输入和编辑纯文本的单行控件。系统中的撤销、重做、复制、剪切和粘贴都可用于该控件。 #!/usr/bin/python3 # -*- coding: utf-8 -*- ""&quo…

单行文本省略失效

单行文本省略失效 要省略的盒子内没有其他块及元素 <div class"f"><div class"left">11111</div><div class"right"><span>222222222222222222222222222222222222222222222222</span></div></div…

python中单行注释_Python中的单行、多行、中文注释方法

Python中的单行、多行、中文注释方法 一、python单行注释符号(#) python中单行注释采用 #开头 示例:#this is a comment 二、批量、多行注释符号 多行注释是用三引号” ”包含的,例如: 三、python中文注释方法 今天写脚本的时候,运行报错: SyntaxError: Non-ASCII …

python创建单行文本框_HTML单行文本框

网站的登录或注册页面&#xff0c;用户名一栏使用的一般为单行文本框。例如 C语言中文网的登录(http://vip.biancheng.net/login.php)或注册(http://vip.biancheng.net/register.php)页面用户名栏的文本框&#xff0c;使用的就是单行文本框。 在 HTML 中&#xff0c;把 标签的 …

CSS中的单行、多行文本溢出总结

文章目录 写在前面一.用到的相关属性1.white-space2.word-break3.text-overflow:4.overflow 二.单行文本溢出三.多行文本溢出 写在前面 这里是小飞侠Pan&#x1f973;&#xff0c;立志成为一名优秀的前端程序媛&#xff01;&#xff01;&#xff01; 本篇博客收录于我的githu…

平面方程、两平面夹角、点到平面距离

平面方程 首先介绍一下法向量 法向量&#xff1a;垂直于平面的非零向量 由此可知法向量垂直于相应平面上的任意向量 平面法向量的求法&#xff1a; 变换方程为一般式AxByCzD0,平面的法向量为(A,B,C)。 例如&#xff1a;若一个平面是2x3y5z-10&#xff0c;那么该平面的法向量就…

点到超平面的距离

点到超平面的距离 1.点到平面的距离2.点到超平面的距离 1.点到平面的距离 首先说一下采用向量法计算点到平面的距离&#xff1a; 设图中平面的方程为AxByCzD0,点M0的坐标为&#xff08;x0,y0,z0&#xff09;,点M1的坐标为&#xff08;x1,y1,z1&#xff09;,求M1到平面的距离。…

python 求平面两点距离_Python求平面内点到直线距离的实现

近期遇到个问题&#xff0c;需要计算平面内点到直线的距离&#xff0c;发现数学知识都还给老师了&#xff0c;度娘后找到计算方法&#xff0c;特此记录。 点到直线的计算公式&#xff1a; 通过公式推导&#xff0c;得到信息&#xff1a; A&#xff1a;直线斜率 B&#xff1a…

平面方程与点到平面的距离

1. 平面的点法式方程 过空间的一点&#xff0c;与已知直线垂直的平面只有一个。因此&#xff0c;给定平面上的一点和垂直于该平面的一个非零向量&#xff0c;平面就确定了。 这就是所谓的点法式方程的基础。 (1)法向量&#xff1a; 任意垂直与一个平面的向量被称为法向量。 …

求点到平面的距离(C#)

1.空间中平面方程的一般形式为&#xff1a; AxByCzD0 (参数,A,B,C,D是描述平面空间特征的常数) 已知空间中3个点的坐标(x1,y1,z1),(x2,y2,z2),(x3,y3,z3)&#xff0c;求解平面方程。 解法1.根据已知的3个点&#xff0c;建立3个联合方程组&#xff0c;进行消元&#xff1b; 2…

平面方程、夹角与点到平面的距离

平面的点法式方程 法向量&#xff1a;垂直于一个平面的非零向量叫做一个平面的法向量。 假设空间内有一点 M0(x0,y0,z0) M 0 ( x 0 , y 0 , z 0 ) 和一个向量 n→(A,B,C) n → ( A , B , C ) &#xff0c;则经过点 M0 M 0 且垂直于向量 n→ n → 的平面有且只有一个&#xf…

点到平面的距离公式推导

转自&#xff1a;http://www.cnblogs.com/graphics/archive/2010/07/10/1774809.html 准备知识 平面的一般式方程 Ax By Cz D 0 其中n (A, B, C)是平面的法向量&#xff0c;D是将平面平移到坐标原点所需距离&#xff08;所以D0时&#xff0c;平面过原点&#xff09; 向量的模…

kvm学习------虚拟机迁移

虚拟机迁移 虚拟机迁移分为动态迁移和静态迁移 静态迁移&#xff1a;是指在虚拟机关闭或暂停的情况下&#xff0c;将源宿主机上虚拟机的磁盘文件和配置文件拷贝到目标宿主机上。这种方式需要显式的停止虚拟机运行&#xff0c;对服务可用性要求高的需求不合适。 动态迁移&#…

ESXi下虚拟机迁移至PVE

ESXi版本&#xff1a;6.5.0 PVE版本&#xff1a;7.1.2 情景描述&#xff1a;因工作原因&#xff0c;要求将ESXi上的虚拟机全部迁移至开源免费的PVE。至于ESXi和PVE的对比就不提了&#xff0c;网上百度能够搜到很多&#xff1b;写这篇文章也只是记录一下自己在迁移过程中遇到的…

Centos7 虚拟机迁移及扩容

1. 虚拟机的迁移 https://blog.csdn.net/qq_37035946/article/details/103702802 2. 对迁移后的虚拟机进行扩容 关闭Vmware的centos7系统&#xff0c;才能在VMWare菜单中设置需要增加到的磁盘大小,如下图所示: 然后启动虚拟机,但这个实际硬盘的大小还是之前的大小,我们需要对…

VMware 虚拟机迁移

迁移虚拟机分为&#xff1a; 主机之间迁移 存储间迁移 以上都迁移 迁移是指将虚拟机从一个主机或存储位置移至另一个主机或存储位置的过程。复制虚拟机是指创建新的虚拟机&#xff0c;并不是迁移形式。 在 vCenter Server 中&am…

nova虚拟机迁移一

虚拟机迁移 虚拟机迁移也就是把一台虚拟机从原计算节点迁移到一个新的计算节点&#xff0c;并且能够保证虚拟机在新的计算节点可以正常工作&#xff0c; 虚拟机的迁移根据虚拟机的运行状态可以分为两种1、动态迁移&#xff1b;2、静态迁移 虚拟机动态迁移 虚拟机的动态迁移…

pve虚拟机迁移

这里写自定义目录标题 欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题&#xff0c;有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants 创建一个自定义列表如何创建一个…