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

QLineEdit二次输入清空原来的内容

4
回复
14275
查看
[复制链接]

尚未签到

来源: 2015-1-20 17:50:26 显示全部楼层 |阅读模式
1Qter豆
求大家帮帮吗?qt登录界面的密码框QLineEdit记录了密码,现在想编辑密码,当按键键入时怎么删除之前存在的密码,只保留现在键入的密码?

最佳答案

查看完整内容

楼主的用法就如同给LineEdit增加一个clicked的功能嘛,可以尝试使用一下事件滤波器。 1、在.h中声明2、在.cpp中构造函数中,安装事件滤波器3、cpp中实现函数体
回复

使用道具 举报

累计签到:597 天
连续签到:1 天
2015-1-20 17:50:27 显示全部楼层
楼主的用法就如同给LineEdit增加一个clicked的功能嘛,可以尝试使用一下事件滤波器。

1、在.h中声明
  1. //signals:
  2. //    void clicked();            //如果需要产生信号
  3. protected:
  4.     bool eventFilter(QObject *obj, QEvent *event);
复制代码
2、在.cpp中构造函数中,安装事件滤波器
  1. ui->lineEdit->installEventFilter(this);
复制代码
3、cpp中实现函数体
  1. bool MainWindow::eventFilter(QObject *obj, QEvent *event)
  2. {
  3.     if(obj == ui->lineEdit && event->type() == QEvent::MouseButtonPress)
  4.     {
  5.         QMouseEvent *me = (QMouseEvent*)event;
  6.         if(me->button() == Qt::LeftButton)
  7.         {
  8.             //emit clicked();
  9.             qDebug() << "clicked";
  10.             ui->lineEdit->clear();
  11.         }
  12.     }
  13.     return QMainWindow::eventFilter(obj,event);
  14. }
复制代码
回复

使用道具 举报

累计签到:615 天
连续签到:1 天
2015-1-20 22:37:51 显示全部楼层
QLineEdit每次获得焦点后就清空下不就行了嘛?
回复

使用道具 举报

尚未签到

2015-1-21 09:25:32 显示全部楼层
用信号槽怎么实现,可以详细解释一下吗   
回复

使用道具 举报

尚未签到

2015-1-21 11:53:25 显示全部楼层
shasidaran 发表于 2015-1-21 11:41
楼主的用法就如同给LineEdit增加一个clicked的功能嘛,可以尝试使用一下事件滤波器。

1、在.h中声明2、在. ...

恩,正是我需要的,谢谢shasidaran!
回复

使用道具 举报

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

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