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-10ui->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;#");


