我試圖在Qt中創建一個支持本機特性的無邊界窗口:航空捕捉,DWM調整大小和最小化,搖等 與Office 2013或Visual Studio 2012類似。但它們是用wpf編寫的。 在wpf和純WinApi中有很多示例,但我無法找到任何Qt示例。Qt中無界限窗口支持本機功能:航空捕捉,DWM調整大小和最小化
最近我找到了暴雪的Battle.net App(screenshot)。他們正在使用QT 4.8.5,他們的主窗口看起來和行爲完全符合我的需求。
有誰知道該怎麼做?
感謝您的幫助。
我試圖在Qt中創建一個支持本機特性的無邊界窗口:航空捕捉,DWM調整大小和最小化,搖等 與Office 2013或Visual Studio 2012類似。但它們是用wpf編寫的。 在wpf和純WinApi中有很多示例,但我無法找到任何Qt示例。Qt中無界限窗口支持本機功能:航空捕捉,DWM調整大小和最小化
最近我找到了暴雪的Battle.net App(screenshot)。他們正在使用QT 4.8.5,他們的主窗口看起來和行爲完全符合我的需求。
有誰知道該怎麼做?
感謝您的幫助。
我發現解決此問題的解決方法。
我沒有使用Qt主窗口,而是創建了一個簡單的WinAPI無邊界窗口,如this SO discussion。然後我從QtWinMigrate項目中添加了QWinWidget,並用它填充了窗口。
因此,主窗口和可調整大小的邊緣由WinAPI處理,並且主窗口內的所有內容都由QWinWidget處理。使用QWinWidget,您可以創建Qt gui,就像在任何其他Qt應用程序中一樣。
或許,這可以幫助你,具體的Windows的Qt類WinExtras
http://qt-project.org/doc/qt-5/qtwin.html
http://qt-project.org/doc/qt-5/qtwinextras-module.html
除此之外,您還可以使用Qt Quick的2.0設計UI類似WPF
雖然我不知道有關航空管理單元,您可以通過使用了QWidget :: setWindowFlags(),這將允許你自己繪製這些控件(這可能是什麼,實現這個battle.net應用程序正在看,因爲它有非常多的自定義菜單控件)。這裏有一篇非常好的文章:http://qt.developpez.com/tutoriels/braindeadbzh/customwindow/ - 下邊是法語。 –
我的應用程序現在就是這樣。 Aero捕捉不起作用。當最小化時,窗口消失而沒有任何動畫。 – PKE
我正在尋找相同的行爲。你找到了解決方案嗎?提前致謝。 –