在Qt中实现无边框窗口的Aero Snap

8
我正在尝试在Qt中创建一个Metro风格的界面,这意味着不使用Windows 7 Aero边框。我已经将窗口设置为无边框,并添加了代码使其可拖动和按钮使其最小化、最大化和关闭。然而,Aero Snap不起作用。
我知道这是可能的,因为Visual Studio 2012、MS Word 2013和Steam都有带有Aero Snap的无边框窗口。
如何在无边框的Qt应用程序中实现Aero Snap?谢谢。

你最终能够做到这件事了吗? - louissmr
https://dev59.com/omQn5IYBdhLWcg3wiHfl - Keavon
1个回答

3
我一直在寻找这种Qt窗口,现在终于找到了解决方案。
这个GitHub示例非常好用(感谢deimos1877!) https://github.com/deimos1877/BorderlessWindow 确保使用Visual Studio编译器获取所需的DLL并且它应该可以工作。 此示例包括Aerosnap支持、无边框窗口、最小化效果和Aero阴影。

2
除非实现丑陋得要命。 - Violet Giraffe
@VioletGiraffe 你找到更好的了吗? - Zmey
2
@Zmey:不,我放弃了那个想法,非本地的Windows系统太混乱了。 - Violet Giraffe
1
为了节省其他人的时间:这种方法的缺点是它会在边框上显示 Qt 窗口下面的本地窗口的一部分。当本地窗口被调整大小时,它可能会完全隐藏在 Qt 窗口下面,并且不再被拉伸回来。 - Zmey
我完全同意你的观点...而且我还没有找到更好的解决方案... - Kévin Renella

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接