1. QLineEdit常用方法
方法 | 描述 |
---|---|
setAlignment() | 按固定值方式对齐文本: - Qt.AlignLeft,水平方向靠左对齐 - Qt.AlignRight,水平方向靠右对齐 - Qt.AlignCenter,水平方向居中对齐 - Qt.AlignJustify,水平方向调整间距两端对齐 - Qt.AlignTop,垂直方向靠上对齐 - Qt.AlignBottom,垂直方向靠下对齐 - Qt.AlignVCenter,垂直方向居中对齐 |
clear() | 清除文本框内容 |
setEchoMode() | 设置文本框显示格式。允许输入的文本显示格式的值可以是: - QLineEdit.Normal,正常显示所输入的字符,此为默认选项 - QLineEdit.NoEcho,不显示任何输入的字符,常用于密码类型的输入,且其密码长度需要保密时 - QLineEdit.Password,显示与平台相关的密码掩码字符,而不是实际输入的字符 - QLineEdit.PasswordEchoOnEdit,在编辑时显示字符,负责显示密码类型的输入 |
setPlaceholderText() | 设置文本框浮显文字 |
setMaxLength() | 设置文本框所允许输入的最大字符数 |
setReadOnly() | 设置文本框为只读的 |
setText() | 设置文本框内容 |
text() | 返回文本框内容 |
setDragEnabled() | 设置文本框是否接受拖动 |
selectAll() | 全选 |
setFocus() | 得到焦点 |
setInputMask() | 设置掩码 |
setValidator() | 设置文本框的验证器(验证规则),将限制任意可能输入的文本。可用的校 验器为: - QIntValidator,限制输入整数 - QDoubleValidator,限制输入浮点数 - QRegexpValidator,检查输入是否符合正则表达式 |
2.在左侧或右侧增加一个图标(比如搜索)
#include <QAction>
QAction *searchAction = new QAction(ui.LineEdit);
searchAction->setIcon(QIcon(":/resource/query.png"));
ui->LineEdit->addAction(searchAction, QLineEdit::TrailingPosition);
// QLineEdit::LeadingPosition 在左侧
3.使用验证器
// Qt5
#include <QRegExp>
#include <QRegExpValidator>
// 1. 使用QIntValidator(限制输入整数,可设置范围)
QIntValidator* intValidator = new QIntValidator();
intValidator->setRange(1, 20); // 限制输入的数字为1-10
ui->LineEdit->setValidator(intValidator);
// 2. 使用QDoubleValidator(限制输入浮点数,可设置范围)
QDoubleValidator *doubleValidator = new QDoubleValidator();
doubleValidator->setRange(1.0, 20.0);
ui->LineEdit->setValidator(doubleValidator);
// 3. 使用正则表达式(电话号码文本框只允许输入数字)
QRegExp regExp("^1([358][0-9]|4[579]|66|7[0135678]|9[89])[0-9]{8}$");
ui->LineEdit->setValidator(new QRegExpValidator(regExp, this));
4.设置EchoMode
// 正常显示所输入的字符,此为默认选项
ui->pNormalLineEdit->setEchoMode(QLineEdit::Normal);
// 不显示任何输入的字符,常用于密码类型的输入,且其密码长度需要保密时
ui->pNoEchoLineEdit->setEchoMode(QLineEdit::NoEcho);
// 显示与平台相关的密码掩码字符,而不是实际输入的字符
ui->pPasswordLineEdit->setEchoMode(QLineEdit::Password);
// 在编辑时显示字符,负责显示密码类型的输入
ui->pPasswordEchoOnEditLineEdit->setEchoMode(QLineEdit::PasswordEchoOnEdit);
5.设置输入掩码
ui->pIPLineEdit->setInputMask("000.000.000.000;_");
ui->pMACLineEdit->setInputMask("HH:HH:HH:HH:HH:HH;_");
ui->pDateLineEdit->setInputMask("0000-00-00");
ui->pLicenseLineEdit->setInputMask(">AAAAA-AAAAA-AAAAA-AAAAA-AAAAA;#");