Qt-QLineEdit的创建和使用
一、创建
QLineEdit* edit = new QLineEdit;
// 或者
// QLineEdit* edit = new QLineEdit("test",this);
二、使用
对lineEdit的生成位置、大小、文本格式进行调整
QFont font; //创建一个lineedit的字体fontfont.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() | 如果重做可用,则重做上一个操作。 |
| selectAll() | 选择所有文本(即突出显示它)并将光标移动到末尾。这在插入默认值时很有用,因为如果用户在单击小部件之前键入,则所选文本将被删除。 |
| setText(const QString &) | 指定文本框中的内容 |
| undo() | 如果撤消可用,则撤消上一个操作。取消选择任何当前所选内容,并将所选内容的起点更新到当前光标位置。 |
四、信号函数
LineEdit提供了六个返回值为void的信号函数
| cursorPositionChanged(int old, int new) | 每当光标移动时,就会发出此信号。以前的位置由旧位置给出,新位置由新位置给出。 |
| editingFinished() | 当按下 Return 或 Enter 键或行编辑失去焦点时,将发出此信号。如果在行 edit 上设置了validator或 inputMask,并且按下了 enter/return,则只有在输入跟随 inputMask并且validator返回 QValidator::Acceptable 时,才会发出 edititfinished 信号。 |
| returnPressed() | 当按下 Return 或 Enter 键时,将发出此信号。如果在行 edit 上设置了validator或 inputMask,并且按下了 enter/return,则只有在输入跟随 inputMask并且validator返回 QValidator::Acceptable 时,才会发出 edititfinished 信号。 |
| selectionChanged() | 返回行编辑中第一个选定字符的索引;如果未选择任何文本,则返回 -1。 |
| textChanged(const QString &text) | 每当文本更改时,就会发出他的信号。通过调用 setText时,会发出此信号。 |
| textEdited(const QString &text) | 每当编辑文本时,都会发出此信号。通过调用 setText时,不会发出此信号。 |
本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!
