一、创建
QLineEdit* edit = new QLineEdit;
// 或者
// QLineEdit* edit = new QLineEdit("test",this);
二、使用
对lineEdit的生成位置、大小、文本格式进行调整
QFont font; //创建一个lineedit的字体font
font.setFamily("宋体"); //字体
font.setPixelSize(20); //字体大小
//edit设置
edit->setParent(this);//设置父窗口
edit->setFont(font);
edit->setText("这是一个line edit");
edit->setGeometry(100,100,300,30); //开始位置(100,100) 宽高300,30
效果:
占位符,输入文本可以覆盖掉占位符内容
edit->setPlaceholderText("提示"); //占位符,键入会覆盖掉
效果:
如果是输入密码时输入文本,那么就把显示的格式设置成密码格式
edit->setEchoMode(QLineEdit::Password); //让edit显示的内容变成密码格式
效果:
还可以设置文本对上下左右边缘的间隔距离
edit->setTextMargins(20,0,0,0); //设置文本对上下左右的间距
还可以设置一个btn一键清空文本
edit->setClearButtonEnabled(true); //可以清除所有文本的btn
可以用过text()方法获得lineEdit的文本
//读取文本
QString str = edit->text();
qDebug()<< str;
三、槽函数
LineEdit本身提供了8个槽函数,都是void返回值类型
clear() | 清空文本框中的内容 |
copy() const | 将所选文本复制到剪贴板(如果有),并且 echoMod为“正常”。 |
cut() | 将所选文本复制到剪贴板并删除它(如果有),并且 echoMode() 为“正常”。 如果当前验证程序不允许删除所选文本,则 cut() 将复制而不删除。 |
paste() | 在光标位置插入剪贴板的文本,删除任何选定的文本,前提是行编辑不是只读的。 |
redo() | 如果重做可用,则重做上一个操作。 |
选择所有文本(即突出显示它)并将光标移动到末尾。这在插入默认值时很有用,因为如果用户在单击小部件之前键入,则所选文本将被删除。 | |
setText(const QString &) | 指定文本框中的内容 |
undo() | 如果撤消可用,则撤消上一个操作。取消选择任何当前所选内容,并将所选内容的起点更新到当前光标位置。 |
四、信号函数
LineEdit提供了六个返回值为void的信号函数
cursorPositionChanged(int old, int new) | 每当光标移动时,就会发出此信号。以前的位置由旧位置给出,新位置由新位置给出。 |
当按下 Return 或 Enter 键或行编辑失去焦点时,将发出此信号。如果在行 edit 上设置了validator或 inputMask,并且按下了 enter/return,则只有在输入跟随 inputMask并且validator返回 QValidator::Acceptable 时,才会发出 edititfinished 信号。 | |
当按下 Return 或 Enter 键时,将发出此信号。如果在行 edit 上设置了validator或 inputMask,并且按下了 enter/return,则只有在输入跟随 inputMask并且validator返回 QValidator::Acceptable 时,才会发出 edititfinished 信号。 | |
返回行编辑中第一个选定字符的索引;如果未选择任何文本,则返回 -1。 | |
textChanged(const QString &text) | 每当文本更改时,就会发出他的信号。通过调用 setText时,会发出此信号。 |
textEdited(const QString &text) | 每当编辑文本时,都会发出此信号。通过调用 setText时,不会发出此信号。 |