QT Lineedit 单行文本编辑框

一、简介

二、信号函数

三、常用类成员函数


一、简介

QLineEdit类提供单行文本编辑框。

二、信号函数

新建项目文件,打开ui图形界面,拖入lineedit控件,选中lineedit对象,右键选择“转到槽”,可以看到lineedit有6个信号函数。

表格参考:https://blog.csdn.net/liang19890820/article/details/52044639

1 void cursorPositionChanged(int old, int new) 

光标位置改变,发射信号。

前面的位置old,新的位置是new。

2 void editingFinished( ) 当编辑完成点回车,发射信号。
3

void returnPressed( )

光标在行编辑框内点回车,发射信号。
4 void selectionChanged( )  选择的文本发生变化时,发射信号。
5

void textChanged(const QString & text)

文本内容改变时,发射信号。
6 void textEdited(const QString & text)

当文本被编辑时,发射该信号。

当使用setText()改变文本时,textEdited()信号也会发射。

下面分别使用后五个信号。在ui界面拖入10个lineedit,分两列(对象名按顺序设置成line11~line15,line21~line25)。界面设计如下所示:

其中第一列为信号栏,为别转到槽函数(函数分别与左侧对应);第二列为触发信号栏,若信号栏信号被触发,则会显示被触发的信息。

槽函数代码如下:

//编辑完成或点回车,触发信号
void MainWindow::on_line11_editingFinished()
{
    ui->line12->setText("左边的被触发了");
}
//光标在编辑框内点回车,触发信号
void MainWindow::on_line21_returnPressed()
{
    ui->line22->setText("左边的被触发了");
}
//选择文本内容发生了改变,触发信号
void MainWindow::on_line31_selectionChanged()
{
     ui->line32->setText("左边的被触发了");
}
//编辑框文本内容了改变,触发信号
void MainWindow::on_line41_textChanged(const QString &arg1)
{
    ui->line42->setText("左边的被触发了");
}
//编辑文本时,触发信号
void MainWindow::on_line51_textEdited(const QString &arg1)
{
    ui->line52->setText("左边的被触发了");
}

点击运行,结果如下,当触发条件满足时,第二栏就会有显示。

问题:textChang()与textEdited()、returnPressed()与editingFinish()可实现一些相同功能。


三、常用类成员函数

     表格参考:https://blog.csdn.net/qq_37233607/article/details/78154788

              https://blog.csdn.net/liang19890820/article/details/52044639

1

void setPlaceholderText(QString)

设置占位符
2 void setText(QString) 设置编辑框内的文本
3 void setReadOnly(bool) 把设置编辑框为只读模式,无法进行编辑.
4 void setEnabled(bool) 设置是否激活行编辑框,作用和3类似
5 bool isModified() 判断文本是否被修改
6 void selectAll() 选中框内所有文本
7 QString displayText() 返回显示的文本
8 QString selectedText() 返回被选中的文本
9 QString text() const  返回输入框的当前文本。
10 void setMaxLength(int) 设置文本的最大允许长度

猜你喜欢

转载自blog.csdn.net/qq_29406323/article/details/81360115