1

我有一个简单QDialog的 ,仅包含 aQComboBox和 a QPlainTextEdit,由 a 包含QGraphicsProxyWidget。通常,一个专注的QComboBox人会响应wheelEvents,改变它的 s currentIndex。但是,在这QGraphicsProxyWidget方面,没有任何反应。

作为一项实验,我也尝试在 中或在 中捕获wheelEventQComboBoxQGraphicsProxyWidget它也从未被调用过。

如何让嵌入式QComboBox响应鼠标滚轮事件?如果您知道如何让它在显示弹出列表时响应鼠标事件,则一等奖。

4

1 回答 1

2

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

QGraphicsView::wheelEvent

QGraphicsScene::wheelEvent

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

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

QGraphicsProxyWidget::wheelEvent

QComboBox::wheelEvent

你已经知道它没有达到QGraphicsProxyWidget::wheelEvent,所以如果我是你,我会更进一步找到它被卡住的地方。

您是否在其他任何地方覆盖了 wheelEvent,例如在 QGraphicsView 或 QGraphicsScene 中?如果是这样,那可能是您的问题的根源,因为这些类应该将事件转发给他们的孩子。

于 2013-06-04T15:12:06.533 回答