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

怎么使鼠标点击事件失效

4
回复
7415
查看
[复制链接]
累计签到:24 天
连续签到:1 天
来源: 2017-10-10 10:45:23 显示全部楼层 |阅读模式
1Qter豆
我有一个treewidget界面,里边有很多item我不希望通过鼠标移动双击导致里边的item被选中。
附件: 您需要 登录 才可以下载或查看,没有帐号?立即注册

最佳答案

查看完整内容

ui->label_top->installEventFilter(this); 注册事件过滤 bool InputDialog::eventFilter(QObject *target, QEvent *event) { if(event->type() == QEvent::MouseButtonPress) { ResetTimer(); if(m_pKeyDlg && !m_pKeyDlg->isHidden()) { m_pKeyDlg->hide(); return true; //拦截 } if(m_pDate && !m_pDate->isHidden()) ...
回复

使用道具 举报

尚未签到

2017-10-10 10:45:24 显示全部楼层
雷芙妮 发表于 2017-10-16 11:25
ITEM不能过注册事件过滤器?我用TreeWidget注册事件过滤器但是mouse事件始终进入不了请问一下是为什么? ...

ui->label_top->installEventFilter(this);  注册事件过滤

bool InputDialog::eventFilter(QObject *target, QEvent *event)
{
    if(event->type() == QEvent::MouseButtonPress)
    {
        ResetTimer();
        if(m_pKeyDlg && !m_pKeyDlg->isHidden())
        {
            m_pKeyDlg->hide();
            return true;                    //拦截
        }
        if(m_pDate && !m_pDate->isHidden())
        {
            m_pDate->hide();
            return true;                    //拦截
        }
    }
    return QDialog::eventFilter(target, event);   //交给系统处理
}

代码仅供参考
回复

使用道具 举报

尚未签到

2017-10-11 15:26:40 显示全部楼层
对每个ITEM事件过滤呗,不响应点击事件。
回复

使用道具 举报

累计签到:24 天
连续签到:1 天
2017-10-16 09:32:27 显示全部楼层
lizuoshu223 发表于 2017-10-11 15:26
对每个ITEM事件过滤呗,不响应点击事件。

请问一下怎么过滤每个ITEM里边的事件呢?这几天忙着其他事儿去了。如果要过滤每个ITEM事件是不是要重写ITEM子类继承ITEM类?然后调用EVENT函数?
回复

使用道具 举报

累计签到:24 天
连续签到:1 天
2017-10-16 11:25:49 显示全部楼层
lizuoshu223 发表于 2017-10-11 15:26
对每个ITEM事件过滤呗,不响应点击事件。

ITEM不能过注册事件过滤器?我用TreeWidget注册事件过滤器但是mouse事件始终进入不了请问一下是为什么?
回复

使用道具 举报

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

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