Qt wheelEvent all

时间:2012-10-16 16:53:16

标签: qt scroll mouseevent

我的应用程序窗口有很多布局和小部件。我还有关闭滚动条的scrollarea。我能够为scrollareaup和scrollareadown创建插槽。但是,当我为所有应用程序创建wheelEvent时,它只适用于项目int app而不是在scrollarea中。当我尝试这个时:

void TContic_win::wheelEvent(QWheelEvent *event) {
  cout << "-" << endl;
} 

我不知道如何解决它。我的想法是这样的:

bool TContic_win::eventFilter(QObject *obj, QEvent *e) {

  if (isChildOfScrollWidget(obj) { if (e == wheel) scroll Up or Down }

}

2 个答案:

答案 0 :(得分:0)

您可以执行以下操作(如果您的小部件有Your_Scrol_Widget为父级):

void TContic_win::wheelEvent(QWheelEvent *we)
{
    if (this->childAt( we->pos() )->parent() == Your_Scrol_Widget)
        qDebug() << "-" ;
}

你必须有个主意。

答案 1 :(得分:0)

对不起这是我的错。我有一个错误的事件过滤器。我在恶劣的条件下使用'return true',所以由于这个错误,我总是忽略其他事件,而我的事件过滤器不适用于子项。顺便说一句,谢谢你的努力。