0
爲什麼我們不能QAbstractScrollArea
正常方式安裝一個事件過濾器:安裝事件過濾器QAbstractScrollArea
obj->installEventFilter(this)
相反,我們應該對QAbstractScrollArea::viewport()
安裝事件過濾器。爲什麼導致這種方式?
爲什麼我們不能QAbstractScrollArea
正常方式安裝一個事件過濾器:安裝事件過濾器QAbstractScrollArea
obj->installEventFilter(this)
相反,我們應該對QAbstractScrollArea::viewport()
安裝事件過濾器。爲什麼導致這種方式?
爲什麼你認爲你不能在QAbstractScrollArea
上安裝事件過濾器? 你可以,但它取決於你想要得到的事件,視口或QAbstractScrolArea
的事件。
例如文檔有關void QAbstractScrollArea::contextMenuEvent(QContextMenuEvent *e)
說:
contextMenuEvent
事件處理程序可以在子類中重新實現接收上下文菜單事件視窗()部件。
因此,通過在QAbstractScrollArea
中安裝事件過濾器,您應該會收到此事件。但是,當您想要在視口小部件中接收鼠標按下或鼠標移動事件時,應該在視口小部件中安裝事件過濾器。