我正在尝试在Windows上的Qt中创建一个无边框窗口,它支持本机功能:aero snap,DWM调整大小和最小化,抖动等。 与Office 2013或Visual Studio 2012一样。但它们是用wpf编写的。 在wpf和纯WinApi中有很多例子,但是我找不到任何Qt例子。
最近我发现了暴雪的Battle.net App(screenshot)。他们正在使用QT 4.8.5,他们的主窗口在我的应用程序中看起来和行为完全一样。
有谁知道怎么做?
感谢您的帮助。
答案 0 :(得分:7)
我找到了解决此问题的方法。
我没有使用Qt主窗口,而是创建了一个简单的WinAPI无边界窗口,就像在this SO discussion中一样。然后我从QtWinMigrate项目中添加了QWinWidget,并用它填充了窗口。
结果,主窗口和可调整大小的边缘由WinAPI处理,主窗口内的所有内容都由QWinWidget处理。使用QWinWidget,您可以在任何其他Qt应用程序中创建Qt gui。
答案 1 :(得分:1)
也许这可能对你有帮助,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设计类似于WPF的UI