簡體   English   中英

如何創建一個非常笨的QWidget?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM