Qt——QLineEdit控件常见的属性、方法和信号

QLineEdit控件常见的属性、方法和信号

一、QLineEdit控件常见属性和方法
二、QLineEdit控件常见信号

QLineEdit:单行文本输入框控件

一、QLineEdit控件常用属性和方法:

1. text:

描述:获取或设置文本框中的文本内容。

用法:可以使用setText() 方法设置文本框的文本内容,或使用 text() 方法获取文本框中当前的文本。

cpp 复制代码
setText(const QString &text):

2. placeholderText:

描述:设置一个占位文本,当文本框为空时显示,用于提示用户输入的预期内容。

用法:通过 setPlaceholderText() 方法设置占位文本,通常用于指示用户应该输入什么样的内容。

cpp 复制代码
setPlaceholderText(const QString &text):
cpp 复制代码
edt->setPlaceholderText("请输入密码")://提示输入文本

3. maxLength:

描述:设置文本框中允许输入的最大字符数。

用法:通过 setMaxLength() 方法设置最大字符数限制,这对于限制用户输入长度很有用。

cpp 复制代码
setMaxLength(int length):

4. echoMode:

描述:设置文本的显示模式,用于处理密码等敏感信息的输入。

用法:使用 setEchoMode() 方法来设置显示模式,可以选择显示正常文本、密码字符或不显示。

cpp 复制代码
setEchoMode(EchoMode mode):
cpp 复制代码
edt->setEchoMode(QLineEdit::Password); //设置密码隐藏模式

edt->setEchoMode(QLineEdit::PasswordEchoOnEdit): //设置鼠标点击别的地方密码隐藏模式

5. readOnly:

描述:设置文本框是否为只读模式,即用户无法编辑内容。

用法:通过setReadOnly()方法设置是否为只读,适用于展示信息但不允许编辑的场景。

cpp 复制代码
setReadOnly(bool readOnly):

6. selectedText():获得光标选中的文本数据

cpp 复制代码
edt->selectedText();

二、QLineEdit控件常用信号

1. textChanged(const QString &text):

描述:当文本内容发生变化时触发此信号。

参数:text为当前文本内容。

用法:连接到这个信号的槽函数中,可以在文本发生变化时执行相应操作。

2. editingFinished():

描述:当编辑完成(例如用户按下回车键)时触发此信号。

用法:连接到这个信号的槽函数中,可以在编辑完成时执行相应操作。

3. returnPressed():

描述:当用户按下回车键时触发此信号。

用法:连接到这个信号的槽函数中,可以在用户按下回车键时执行相应操作。

4. cursorPositionChanged(int oldPos, int newPos):

描述:当光标位置发生变化时触发此信号。

参数:oldPos为变化前光标位置,newPos为变化后光标位置。

用法:连接到这个信号的槽函数中,可以在光标位置变化时执行相应操作。

5. selectionChanged():

描述:当选择的文本发生变化时触发此信号。

用法:连接到这个信号的槽函数中,可以在选择的文本变化时执行相应操作。

6. textEdited(const QString &text):

描述:当文本内容被编辑(不一定发生变化)时触发此信号。

参数:text为当前文本内容。

用法:连接到这个信号的槽函数中,可以在文本被编辑时执行相应操作。

cpp 复制代码
Widget::Widget(QWidget *parent) :
    QWidget(parent),
    ui(new Ui::Widget)
{
    ui->setupUi(this);
    setFixedSize(640,480);
    lab = new QLabel("行编辑器", this);

//    ed1 = new QLineEdit(QLine(), this);
//    ed1->setFixedSize(100, 50);

    //setEchoMode(QLineEdit::Password):设置密码隐藏模式
    ui->etd1->setEchoMode(QLineEdit::Password);
    //setEchoMode(QLineEdit::PasswordEchoOnEdit):设置鼠标点击别的地方密码隐藏模式
    ui->etd2->setEchoMode(QLineEdit::PasswordEchoOnEdit);

    //setPlaceholderText():提示输入文本
    ui->etd3->setPlaceholderText("密码");

    //绑定事件(信号发送者, 触发事件地址, 信号接收者, 触发事件槽函数)
    connect(ui->etd, &QLineEdit::editingFinished, this, &Widget::textFinshed);
    //
    //connect(ui->etd2, &QLineEdit:: textChanged, this, QOverload<QString>::of(&Widget::te));



}

Widget::~Widget()
{
    delete ui;
}

void Widget::textFinshed()
{
    ui->label->setText(ui->etd->text());
}

/*
 * 设计器右键转到槽:自动声明定义槽函数,该函数已经绑定了信号
 * 槽函数语法:void on_objectName_signal();
 * on_objectName控件的signal信号被触发,系统自动调用该槽函数
 */

void Widget::on_etd1_selectionChanged() //on_对象名_信号()
{
    //selectedText():获得光标选中的文本数据
    ui->label_2->setText(ui->etd1->selectedText());
}

/*
 * 当信号有形参,目的是触发信号时,传递数据。关联的槽函数,如果需要接收数据,则必须设计 同类型的形爹,如果不需要数据,则不必设置形参
 * 信号与槽函数的参数个数关系: 槽函数形参个数 <= 信号的形参个数
 */

void Widget::on_etd2_textChanged()
{
    ui->label_3->setText(ui->etd2->text());
}


void Widget::on_etd2_textChanged(const QString text)
{
    ui->label_3->setText(text);
}
相关推荐
wj3055853785 小时前
课程 9:模型测试记录与 Prompt 策略
linux·人工智能·python·comfyui
为何创造硅基生物5 小时前
C语言 结构体内存对齐规则(通俗易懂版)
c语言·开发语言
吃好睡好便好5 小时前
在Matlab中绘制横直方图
开发语言·学习·算法·matlab
星寂樱易李5 小时前
iperf3 + Python-- 网络带宽、网速、网络稳定性
开发语言·网络·python
abigriver6 小时前
打造 Linux 离线大模型级语音输入法:Whisper.cpp + 3090 显卡加速与 Rime 中英混输终极调优指南
linux·运维·whisper
仰泳之鹅6 小时前
【C语言】自定义数据类型2——联合体与枚举
c语言·开发语言·算法
wangqiaowq6 小时前
windows下nginx的安装
linux·服务器·前端
之歆6 小时前
DAY_12JavaScript DOM 完全指南(二):实战与性能篇
开发语言·前端·javascript·ecmascript
星星也在雾里6 小时前
PgBouncer 解决 PostgreSQL 连接数超限 + 可视化监控
数据库·postgresql
YYRAN_ZZU6 小时前
Petalinux新建自动脚本启动
linux