当前位置:网站首页>QLineEdit学习与使用
QLineEdit学习与使用
2022-08-01 17:33:00 【小小工程员】
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);
//验证邮箱 [email protected]
QRegExp exp("[a-zA-Z0-9-_][email protected][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, 中间状态,没输入结束:如 [email protected] Acceptable 格式正确 };*/
if (v->validate(ui.email->text(), pos) != QValidator::Acceptable)
{
ui.label->setText(QString::fromLocal8Bit("邮箱格式不正确!"));
}
边栏推荐
猜你喜欢
随机推荐
Xingtu has been short of disruptive products?Will this M38T from the Qingdao factory be a breakthrough?
Good guy, the company server just crashed!
浅谈大数据背景下数据库安全保障体系
QPalette调色板、框架色彩填充
一加OnePlus 10RT出现在Geekbench上 产品发布似乎也已临近
自定义注解实现日志打印时屏蔽特定字段不打印
UI helper class for Winform - some components will use DevExpress components
广汽埃安“弹匣电池”,四大核心技术,出行安全保障
面经汇总-社招-6年
使用设备树时对应的驱动编程
Ali's official Redis development specification
MySQL's maximum recommended number of rows is 2000w, is it reliable?
B002 - 基于嵌入式的老人定位追踪监测仪
2022 Strong Net Cup CTF---Strong Net Pioneer ASR wp
gtk显示4通道rgba图像
研发团队数字化转型实践
百度网盘下载速度提升100倍
【100个网络运维工作者必须知道的小知识!】
在码云拉取代码后,调整了seata版本1.5.2。出现如下异常。是因为数据库表缺少字段导致的吗?
LeaRun.net快速开发动态表单