一、QLineEdit
1. 基础方法
- setText(const QString &):设置行编辑框内容
- setPlaceholderText(const QString &):设置默认提示内容
- QString text() const:获取当前编辑框内容
- setClearButtonEnabled(bool enable):设置编辑框删除按钮是否显示
- setReadOnly(bool):设置只读,不能被编辑。但是右键可以复制。
- setMaxLength(int):设置输入的最大长度,超过了多少位就不能再输入。(中文也是一样)
- Ctrl + Z,Ctrl + Y:支持撤销和恢复。也可与通过外部按钮,调用内部的撤销和恢复的槽函数。undo()和redo()。
- setInputMask(const QString &inputMask):设置输入掩码格式。
ui.lineEdit->setInputMask("000.000.000.000;_"); //如果不填就默认是_
效果:
- setValidator(const QValidator *):QValidator校验整形和浮点型
QIntValidator *val = new QIntValidator();
val->setRange(1, 1000); //设置输入的范围,只能是1-1000,包含1和1000
ui.lineEdit->setValidator(val);
QDoubleValidator *dval = new QDoubleValidator();
dval->setRange(0, 10000,3);
//不用科学计数法
dval->setNotation(QDoubleValidator::StandardNotation);
ui.lineEdit_2->setValidator(dval);
- QLineEdit的QRegExpValidator正则验证邮箱格式。
//设置邮箱输入格式
QRegExp exp("[a-zA-Z0-9-_]+@[a-zA-Z0-9-_]+\\.[a-zA-Z]+");
QRegExpValidator *rval = new QRegExpValidator(exp);
ui.lineEdit->setValidator(rval);
//校验邮箱输入格式
//格式不正确提示
const QValidator *val = ui.lineEdit->validator();
int pos = 0; //格式不正确的位置
if(val->validate(ui.lineEdit->text(),pos) != QValidator::Acceptable) //返回格式状态是否正确
{
//提示内容
}
2. QLineEdit信号介绍
- void editingFinished():当按下回车、或是焦点移开的时候会触发此信号。
- void returnPressed():格式有效、按下回车键会触发。
- void textEdited(const QString &):当文本被编辑的时候会触发此信号,但是当调用setText()函数时,此信号不会被触发。
- void textChanged(const QString &):当文本被编辑的时候会触发此信号,当调用setText()函数时,此信号也会被触发。
3. QLineEdit设置密码显示模式
- void setEchoMode(EchoMode):设置密码模式,也可以通过设计器里面的属性编辑器进行设置。