找回密码
 立即注册
收起左侧

在QLineEdit右侧显示提示信息

7
回复
9638
查看
[复制链接]
累计签到:15 天
连续签到:1 天
来源: 2017-8-14 19:54:59 显示全部楼层 |阅读模式
1Qter豆
如图所示,在QLineEdit中的右侧,显示提示信息,该如何实现,希望各位指导一下,谢谢!
附件: 您需要 登录 才可以下载或查看,没有帐号?立即注册

最佳答案

查看完整内容

自定义吧,自定义还是很好实现的,不要纠结了
回复

使用道具 举报

累计签到:1100 天
连续签到:1 天
2017-8-14 19:55:00 显示全部楼层
自定义吧,自定义还是很好实现的,不要纠结了
回复

使用道具 举报

累计签到:15 天
连续签到:1 天
2017-8-14 19:58:12 显示全部楼层
意思就是,根据用户的输入,在右侧显示提示信息,如果用户输入有误,就提示输入错误,比如,输入的ID存在,就提示ID存在;

我自己在网上查了许多,说QLineEdit中可以设置布局,因为一些浏览器的搜索框就是在QLineEdit右侧添加了一个按钮;

希望知道的Qt同仁指导一下,谢谢!
回复

使用道具 举报

累计签到:15 天
连续签到:1 天
2017-8-15 09:41:15 显示全部楼层
crazylq 发表于 2017-8-15 08:19
自定义吧,自定义还是很好实现的,不要纠结了

我通过查资料,大概也知道是自定义和addAction(),但是不会实现。。。。。谢谢你的回答!
回复

使用道具 举报

累计签到:15 天
连续签到:1 天
2017-8-15 11:19:29 显示全部楼层
有人有比较详细点的教程吗?或者详细点的思路!
回复

使用道具 举报

累计签到:133 天
连续签到:1 天
2017-8-15 14:19:05 显示全部楼层
本帖最后由 loki1412 于 2017-8-15 14:31 编辑
  1. QLabel *tipLbl;
  2. tipLbl=new QLabel("密码正确",this);
  3. QMargins margins=ui->lineEdit_3->textMargins();
  4. ui->lineEdit_3->setTextMargins(margins.left(),margins.top(),tipLbl->width(),margins.bottom());//避免文字与label重叠,还需调整。
  5. QHBoxLayout *layOut=new QHBoxLayout;
  6. layOut->addStretch();
  7. layOut->addWidget(tipLbl);
  8. layOut->setSpacing(0);
  9. layOut->setContentsMargins(0,0,0,0);
  10. ui->lineEdit_3->setLayout(layOut);
复制代码

label:响应editingFinished()信号,检查输入,settext(),show();textEdited()信号,hide()。
PS:还可以用QToolTip::showText();
回复

使用道具 举报

累计签到:15 天
连续签到:1 天
2017-8-15 19:10:43 显示全部楼层
loki1412 发表于 2017-8-15 14:19
label:响应editingFinished()信号,检查输入,settext(),show();textEdited()信号,hide()。
PS:还可 ...

首先,非常感谢你这么细致的回答,真的非常感谢,我试过之后,再来给你追评,再次谢谢!
回复

使用道具 举报

累计签到:15 天
连续签到:1 天
2017-8-15 20:03:08 显示全部楼层
loki1412 发表于 2017-8-15 14:19
label:响应editingFinished()信号,检查输入,settext(),show();textEdited()信号,hide()。
PS:还可 ...

刚刚试过了,在写这些代码的时候貌似体会到了一些东西,再次感谢您的解答!
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

公告
可以关注我们的微信公众号yafeilinux_friends获取最新动态,或者加入QQ会员群进行交流:190741849、186601429(已满) 我知道了