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

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

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

QLineEdit:单行文本输入框控件

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

1. text:

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

setText(const QString &text)

2. placeholderText:

描述:设置一个占位文本,当文本框为空时显示,用于提示用户输入的预期内容。
用法:通过 setPlaceholderText() 方法设置占位文本,通常用于指示用户应该输入什么样的内容。

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

3. maxLength:

描述:设置文本框中允许输入的最大字符数。
用法:通过 setMaxLength() 方法设置最大字符数限制,这对于限制用户输入长度很有用。

setMaxLength(int length)

4. echoMode:

描述:设置文本的显示模式,用于处理密码等敏感信息的输入。
用法:使用 setEchoMode() 方法来设置显示模式,可以选择显示正常文本、密码字符或不显示。

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

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

5. readOnly:

描述:设置文本框是否为只读模式,即用户无法编辑内容。
用法:通过setReadOnly()方法设置是否为只读,适用于展示信息但不允许编辑的场景。

setReadOnly(bool readOnly)

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

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为当前文本内容。
用法:连接到这个信号的槽函数中,可以在文本被编辑时执行相应操作。

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);
}

猜你喜欢

转载自blog.csdn.net/qq_57737603/article/details/132513545