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

}

文章来源

评论可见,请评论后查看内容,谢谢!!!评论后请刷新页面。