[英]How can I create a very dumb QWidget?
我需要一個“啞” QWidget
,它什么都不做,僅提供HWND
並且可以作為子QWidget
添加到其他QWidget
。 具體來說,它不應嘗試管理鼠標光標(這是我簡單地實例化QWidget
)。 (動機:我有一個就地激活的ActiveX控件,該控件有時會嘗試更改鼠標光標,但QWidget會將其更改回默認值,因此閃爍)
進行光標更改的代碼不在QWidget內,因此沒有QWidget更改就可以解決問題。 從內部QApplication::dispatchEnterLeave(...)
內部執行的是QApplication::dispatchEnterLeave(...)
。 最終,是qt_win_set_cursor
完成了任務。
我不容易看到在不更改Qt源的情況下如何更改此行為。
我建議報告是Qt錯誤。 Qt應該檢查在離開外來窗口小部件時是否更改了本地光標,如果這樣,則需要保留它。 如果您提供修補程序以實際解決該問題,則您有更好的機會迅速修復該錯誤。
解決方法:為防止閃爍,請使用QApplication::setCursorOverride()
設置應用程序范圍的光標替代。 這可以解決閃爍問題,但不能解決控件無法更改光標的問題。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.