我有一个简单的QDialog
,仅包含QComboBox
和QPlainTextEdit
,由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?如果是这样,那可能就是问题的根源,因为这些类应该将事件转发给它们的子类。