本例使用纯Qt实现了无边框的窗口,包含了窗口外围的阴影和调整窗口大小的功能,以及最小化、最大化和关闭按钮的功能。本程序在VS2017、Qt5.9下测试通过。期间为了正确响应鼠标消息调试了1~2天,因为在推拽调整窗口大小的时候总是会出漏洞,不过最终还是解决了这些问题。运行效果如下图:
代码已在gitee开源,链接为:QtBorderlessWindow: 用纯Qt5.9实现的无边框窗口 (gitee.com)。此功能的实现原理主要依靠窗口的Qt::WA_TranslucentBackground属性,在Qt帮助中它的说明如下图。大意就是说这个属性会给窗口增加一个Alpha通道,可以在窗口任意地方绘制透明色:
标签:窗口,Qt,实现,gitee,Qt5.9,边框 From: https://www.cnblogs.com/mengxiangdu/p/18075587