(見編輯)如何防止Gnome在執行alt-tab時顯示兩個窗口? (C++ QT應用程序)
我正在開發下一個GNOME的QT/C++應用程序。
應用程序主窗口和QListBox子窗口。
當我從應用程序中遠離標籤時,這兩個窗口都顯示爲單獨的主窗口。
我該如何做到這一點,以便我(或以後的用戶)使用alt-tab時只顯示一個窗口?
我猜這種行爲來是因爲一個主窗口不剪輯子窗口 - 子窗口擴展主窗口的邊界。 Gnome對於其他許多應用程序也有不良的alt-tab行爲,與主窗口分開顯示模式對話框。但在我的應用程序的情況下,這真的很煩人。
我想我可以做一個巨大的透明窗口,包括兩個現有的窗口。但找到一個「乾淨」的解決方案會更好。
(最合乎邏輯的猜測是真的,它有事情做與窗口標誌我已經試過標誌的每一個合理的組合,我能想到的窗口類型描述here)
編輯: 的應用程序有一個QWidget作爲其主窗口(Not QMainWindow),QListView包含在QWidget對象中,並通過將一個點傳遞給主窗口來創建。 使用Qt :: Tool |進行設計Qt的:: FramelessWindowHint。
EDIT2: Qt的:: X11BypassWindowManagerHint風格確實工作,從使用Alt-Tab列表中刪除的窗口。問題是它也使得窗口「不受管理」,因此它覆蓋了其他窗口。每當我失去焦點時,我都可以隱藏起來 - 現在獎勵更好的解決方案。
我猜它與窗口標誌有關......例如,如果你將它做成了一個工具窗口,它會抓住兩個呢?例如,當我使用開放式辦公室時,gnome不會通過其浮動工具窗口進行選項卡,而只會選擇主窗口。 – 2010-08-24 13:59:15
我假設QListBox的父窗口指針設置爲QMainWindow?任何機會在最低限度所需的代碼框架來產生這個問題? – sleepynate 2010-08-30 13:23:06