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.在左侧或右侧增加一个图标(比如搜索)

  1. #include <QAction>
  2. QAction *searchAction = new QAction(ui.LineEdit);
  3. searchAction->setIcon(QIcon(":/resource/query.png"));
  4. ui->LineEdit->addAction(searchAction, QLineEdit::TrailingPosition);
  5. // QLineEdit::LeadingPosition 在左侧

3.使用验证器

  1. // Qt5
  2. #include <QRegExp>
  3. #include <QRegExpValidator>
  4. // 1. 使用QIntValidator(限制输入整数,可设置范围)
  5. QIntValidator* intValidator = new QIntValidator();
  6. intValidator->setRange(1, 20); // 限制输入的数字为1-10
  7. ui->LineEdit->setValidator(intValidator);
  8. // 2. 使用QDoubleValidator(限制输入浮点数,可设置范围)
  9. QDoubleValidator *doubleValidator = new QDoubleValidator();
  10. doubleValidator->setRange(1.0, 20.0);
  11. ui->LineEdit->setValidator(doubleValidator);
  12. // 3. 使用正则表达式(电话号码文本框只允许输入数字)
  13. QRegExp regExp("^1([358][0-9]|4[579]|66|7[0135678]|9[89])[0-9]{8}$");
  14. ui->LineEdit->setValidator(new QRegExpValidator(regExp, this));

4.设置EchoMode

  1. // 正常显示所输入的字符,此为默认选项
  2. ui->pNormalLineEdit->setEchoMode(QLineEdit::Normal);
  3. // 不显示任何输入的字符,常用于密码类型的输入,且其密码长度需要保密时
  4. ui->pNoEchoLineEdit->setEchoMode(QLineEdit::NoEcho);
  5. // 显示与平台相关的密码掩码字符,而不是实际输入的字符
  6. ui->pPasswordLineEdit->setEchoMode(QLineEdit::Password);
  7. // 在编辑时显示字符,负责显示密码类型的输入
  8. ui->pPasswordEchoOnEditLineEdit->setEchoMode(QLineEdit::PasswordEchoOnEdit);

9JJOLE5VQSC0_)XNA(BK)NR.png

5.设置输入掩码

  1. ui->pIPLineEdit->setInputMask("000.000.000.000;_");
  2. ui->pMACLineEdit->setInputMask("HH:HH:HH:HH:HH:HH;_");
  3. ui->pDateLineEdit->setInputMask("0000-00-00");
  4. ui->pLicenseLineEdit->setInputMask(">AAAAA-AAAAA-AAAAA-AAAAA-AAAAA;#");

H2BM61EYYF1B{Q`Z$DS}XN9.png