我的应用程序窗口有很多布局和小部件。我还有关闭滚动条的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 }
}
答案 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',所以由于这个错误,我总是忽略其他事件,而我的事件过滤器不适用于子项。顺便说一句,谢谢你的努力。