[英]Qt::X11BypassWindowManagerHint functionality on Windows
我目前正在開發跨平台的虛擬鍵盤。 在linux中,我可以做任何我想做的事,但是在Windows中,我在阻止小部件獲得鍵盤焦點方面遇到了問題。
在linux中,使用window標志
Qt::X11BypassWindowManagerHint
該小部件從不獲取鍵盤輸入,但是該標志在Windows上不起作用
是否有與該標志等效的東西或可以代替的某些方法?
任何想法,將不勝感激
提前致謝
我在使浮動QDockWidget失去焦點中發布了類似問題的答案。 在Win32上,您實際上沒有完全繞過窗口管理器的選擇,但是通過攔截nativeEvent處理WM_MOUSEACTIVATE,您應該能夠獲得所需的大多數行為。
我會嘗試忽略該事件。 我相信您需要在主應用程序窗口上忽略FocusIn
不確定實際事件,可能需要對其進行原型制作。 您可以通過安裝事件過濾器或手動重新實現其中一種event
方法(可能是event
本身)來忽略事件。 我不知道哪種方法是首選方法,但是我會首先嘗試使用事件過濾器來完成此任務: http : //doc.trolltech.com/4.6/qobject.html#eventFilter
我從未嘗試捕獲鍵盤焦點事件,但是我能夠成功忽略QDialog
轉義鍵,以防止用戶意外關閉窗口。 我相信應該有可能。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.