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);
}
相关推荐
zh路西法2 分钟前
【C++决策和状态管理】从状态模式,有限状态机,行为树到决策树(二):从FSM开始的2D游戏角色操控底层源码编写
c++·游戏·unity·设计模式·状态模式
卫生纸不够用6 分钟前
子Shell及Shell嵌套模式
linux·bash
world=hello19 分钟前
关于科研中使用linux服务器的集锦
linux·服务器
HEU_firejef23 分钟前
Redis——缓存预热+缓存雪崩+缓存击穿+缓存穿透
数据库·redis·缓存
.Vcoistnt28 分钟前
Codeforces Round 994 (Div. 2)(A-D)
数据结构·c++·算法·贪心算法·动态规划
小k_不小36 分钟前
C++面试八股文:指针与引用的区别
c++·面试
摇光9342 分钟前
js高阶-async与事件循环
开发语言·javascript·事件循环·宏任务·微任务
沐泽Mu1 小时前
嵌入式学习-QT-Day07
c++·qt·学习·命令模式
沐泽Mu1 小时前
嵌入式学习-QT-Day09
开发语言·qt·学习
小猿_001 小时前
C语言实现顺序表详解
c语言·开发语言