• 4956阅读
  • 3回复

[提问]QTREEWIDGET捕获鼠标事件 [复制链接]

上一主题 下一主题
离线mygill
 

只看楼主 倒序阅读 楼主  发表于: 2011-10-08
bool A::eventFilter(QObject *obj,QEent *e)
{
    if(obj == ui.treeWidget)
    {
        if(e->type() == QEvent::mousePressButton)
        {
            qDebug("get mouse!");
            return true;
        }
        return false;
    }
        return Qwidget::eventFilter(obj,e);
}

A::A()
{
    ....
    ui.treeWidget->installEventFilter(this);
    ....
    connect(ui.treeWidget,SIGNAL(itemClicked(QTreeWidgetItem*,int)),this,SLOT(myfun(QTreeWidgetItem*,int)));
}


一直没有输出,信号槽倒是一直被激发,我就是想把点击事件过滤掉

bool A::eventFilter(QObject *obj,QEent *e)
{
    if(obj == ui.treeWidget)
    {
        {
            qDebug("get event %d!",e->type());
            return true;
        }
        return false;
    }
        return Qwidget::eventFilter(obj,e);
}
输出的值没有一个是是鼠标事件的,求指教!

离线dbzhang800

只看该作者 1楼 发表于: 2011-10-08
QTreeWidget 是 QAbstractScrollArea 的派生类,其确保先了解它的基本结构。

题外:过滤器装错对象了!
离线mygill

只看该作者 2楼 发表于: 2011-10-08

那装在哪里啊
给点提示 我是新手
离线dbzhang800

只看该作者 3楼 发表于: 2011-10-08
引用第2楼mygill于2011-10-08 13:13发表的  :
[表情]
那装在哪里啊
给点提示 我是新手


QWidget * QAbstractScrollArea::viewport ()
快速回复
限100 字节
 
上一个 下一个