QComboBox是简单QDialog的一部分,封装在QGraphicsProxyWidget中,不响应鼠标滚轮事件



我有一个简单的QDialog,仅包含QComboBoxQPlainTextEdit,由QGraphicsProxyWidget包含。通常,一个聚焦的QComboBox响应wheelEvent,改变它的currentIndex。然而,在这个QGraphicsProxyWidget中,没有任何响应。

作为一个实验,我也试着捕捉wheelEvent,无论是在QComboBox中,还是在QGraphicsProxyWidget中,但它也从未被调用过。

我怎么能得到嵌入式QComboBox响应鼠标滚轮事件?如果你知道如何让它在弹出列表显示时响应鼠标事件,那将是头等大事。

如果它正常工作,则传播事件的路径为:

QGraphicsView::wheelEvent

QGraphicsScene::wheelEvent

QGraphicsWidget::sceneEvent(代理小部件的父类)

QGraphicsItem::sceneEvent(代理小部件的父组件的父组件)

QGraphicsProxyWidget::wheelEvent

QComboBox::wheelEvent

你已经知道它没有到达QGraphicsProxyWidget::wheelEvent那么远,所以如果我是你,我会走得更远,找到它被卡住的地方。

你重写车轮事件在其他任何地方,像在QGraphicsView或QGraphicsScene?如果是这样,那可能就是问题的根源,因为这些类应该将事件转发给它们的子类。

最新更新