QLineEdit
方法 | 描述 | 备注 |
---|---|---|
setText() | 设置文本 | 设置文本,槽函数,不发信号 |
text() | 获取文本 | |
setPlaceholderText() | 设置提示文字 | |
setClearButtonEnabled() | 设置清空文字 | 在输入文本后右侧显示一个清空按钮可以清空输入 |
setReadOnly() | 设置只读 | 可区分不同人(状态时)的权限 |
setMaxLength() | 设置可输入的字节长度 | 如输入密码是最高可输入8位,不管是中文还是应为都是按一个位数 |
setEchoMode() | 设置显示模式 | setEchoMode(QLineEdit::Normal) |
-
掩码格式
-
信号触发
-
显示模式
-
查看样式表帮助文档
参考代码
//setText()
ui.lineEdit->setText("lineedit test");
ui.label->setText(QString::fromLocal8Bit("邮箱格式不正确!"));
//text()
QString txt = ui.lineEdit->text();
txt += " ";
txt += ui.textEdit->text();
ui.label->setText(txt);
//setPlaceholderText()
ui.lineEdit->setPlaceholderText(QString::fromLocal8Bit("提示输入"));
//掩码输入
ui.lineEdit->setInputMask("000.000.000.000;_"); //当前面没有输入时,用_进行填充;0格式输入:只允许输入数字,但非必须
//即当用户按下回车键后,不管输入多少个数字,都会激发returnPressed信号。
ui.textEdit->setInputMask("AAAAA;_"); //A:只允许输入字母,且必须:必须输入5个字符型数据,才会激发returnPressed信号。
//输入验证设置
//整数验证
QIntValidator *ival = new QIntValidator();
ival->setRange(1, 1000);
ui.iedit->setValidator(ival); //设置可输入有效范围,Int整数,范围1-1000。
//浮点数验证
QDoubleValidator *dval = new QDoubleValidator();
dval->setRange(-100, 10000,3); //浮点型,范围-100 ~ 10000 ,精度为小数点后3位
//不用科学计数法 :浮点型,输入完整才会验证,所以导致浮点设置范围无效了。
dval->setNotation(QDoubleValidator::StandardNotation);
ui.dedit->setValidator(dval);
//验证邮箱 xcxj123@x123.com
QRegExp exp("[a-zA-Z0-9-_]+@[a-zA-Z0-9-_]+\\.[a-zA-Z]+"); //[a-zA-Z0-9-_]:a-z、A-Z、0-9、-和_都可以匹配。
//+:表示前面的在范围内的字符至少出现一次,(*号表示可以出现多次,或者不出现)
// \\. 表示的是\进行转义\\,再加.(由于单独的.在正则表达式中是有意义的,故而需要转义),最后的结果就是显示一个小数点.
QRegExpValidator *rval = new QRegExpValidator(exp);
ui.email->setValidator(rval);
//验证邮箱输入正确与否
//格式不正确提示
const QValidator *v = ui.email->validator(); //获取验证格式
int pos = 0; //出现验证错误的位置。
/*
返回
enum State {
Invalid, 不正确
Intermediate, 中间状态,没输入结束:如 111@113.
Acceptable 格式正确
};*/
if (v->validate(ui.email->text(), pos) != QValidator::Acceptable)
{
ui.label->setText(QString::fromLocal8Bit("邮箱格式不正确!"));
}