QLineEdit 行编辑框允许用户使用一组有用的编辑功能输入和编辑一行纯文本,包括撤消和重做、剪切和粘贴以及拖放。
2.1设置/获取 显示数据
- void setText(const QString &)
-
- QString text() const
2.2设置只读
- void setReadOnly(bool)
2.3设置文本边距
- void setTextMargins(int left, int top, int right, int bottom)
2.4设置提示文本
当没有输入数据时,会显示提示文字,比如:请输入密码 之类的。
void setPlaceholderText(const QString &)
2.5设置文本最大长度
- void setMaxLength(int)
2.6设置对齐方式,居中、左、右等
- void setAlignment(Qt::Alignment flag)
2.7对输入的文本进行限制,可以使用正则表达式,比如:只能输入数字、英文字母。
- void setValidator(const QValidator *v)
2.8设置显示模式,比如:密码显示用 黑圈 代替。
- void setEchoMode(EchoMode)
2.9设置掩码,比如:设置ip地址
- void setInputMask(const QString &inputMask)
当按下Return或Enter键或行编辑失去焦点时,会发出此信号
- void editingFinished()
每当文本发生变化时,就会发出这个信号。text参数是新的text。
- void textChanged(const QString &text)
一个简单的例子
源码
- #include "widget.h"
- #include "ui_widget.h"
- #include <QValidator>
- #include <QDebug>
-
- Widget::Widget(QWidget *parent) :
- QWidget(parent),
- ui(new Ui::Widget)
- {
- ui->setupUi(this);
-
- ui->leUserName->setPlaceholderText("请输入用户名");
-
- //设置居中
- ui->leUserName->setAlignment(Qt::AlignCenter);
-
- ui->lePasswd->setPlaceholderText("请输入密码");
-
- //设置密码模式显示
- ui->lePasswd->setEchoMode(QLineEdit::Password);
-
- //设置只能输入数字 正则表达式
- QRegExpValidator *pRevalidotor = new QRegExpValidator(QRegExp("[0-9]{20}"), this);
- ui->leIp->setValidator(pRevalidotor);
- ui->leIp->setInputMask("000.000.000.000");
-
- }
-
- Widget::~Widget()
- {
- delete ui;
- }
-
- //简单响应一下信号改变
- void Widget::on_leUserName_textChanged(const QString &arg1)
- {
- qDebug()<<arg1;
- }
QLineEdit设置QValidator之后,信号不能正常连接的情况。