我有QSpinBox一個QMainWindow持有價值。原生的旋轉框,嗯......QWheelEvent如果聚焦,就會旋轉。我想擴展旋轉框中的值的滾動,以不變地應用于視窗內的焦點。spinbox 管理一個值,該值指示整個活動視窗背景關系的行為。
我試圖將滾動事件轉移到由后者處理的微調框來實作這一點,而不是在某處處理自定義值并手動將其與微調框同步。但我失敗了。我在視窗中有一個 EventFilter 可以攔截視窗中的事件不變的焦點,但是旋轉框中的wheelEvent方法受到保護,所以我不能從那里呼叫它。
如果我能提供幫助,我不想只為此制作一個自定義旋轉框。
有任何想法嗎?
uj5u.com熱心網友回復:
在事件過濾器中,不要呼叫 protected spinBox->wheelEvent(wheelEvent)。您可以改為使用靜態函式將事件傳遞給微調框QCoreApplication::sendEvent(spinBox, wheelEvent)。
當然,查看您的代碼將有助于展示更具體的解決方案。特別是你應該確保你的事件過濾器不會再次攔截這個重新發送的事件,創建一個無限回圈......
轉載請註明出處,本文鏈接:https://www.uj5u.com/qianduan/528359.html
標籤:qt事件
