1,简介
之前发布过几篇关于Qt实现无边框窗口的文章,当时在网上苦苦搜寻了很久,也没有好用的,总缺点意思。哪怕最后找到的一个知名博主的实现,虽然看着效果可以,但是我由于在项目里重度使用,也测出了一些缺陷。比如拖拽的最大化、还原功能,比如拖拽到屏幕角落的1/4屏幕效果。
后来在与一个技术大牛的合作下,实现的一版非常接近于windows原生效果的无边框窗口代码。完美实现了基本能想到的所有功能。成功让一个Qt无边框窗口,能具有和普通windows窗口几乎完全一样的操作效果!
完美支持下列特性:
1,标题栏拖动窗口、双击最大还原
2,拖动4个边框和4个角的对应缩放效果
3,完美支持拖动窗口全屏(拖到顶部)、半屏(拖到两侧)、1/4屏(拖到顶点)效果
4,边框阴影
5,多显示器多屏幕
已在真实项目应用两年多了,期间修复了点细节bug,如今基本稳定。
2023.6.28 更新:
修复了在多屏幕下的鼠标拉伸状态bug
演示程序下载:
链接:https://pan.baidu.com/s/1zyOM054Ehgff9K-h8wHzpg?pwd=ebag
提取码:ebag
2,效果
(1)移动、4边4角缩放:
(2)双击标题栏最大化/还原、最大化时拖动还原:
(3)拖到屏幕边缘的最大化、半屏、1/4屏显示:
3,源码下载
下载演示程序(内含源码下载地址):
链接:https://pan.baidu.com/s/1zyOM054Ehgff9K-h8wHzpg?pwd=ebag
提取码:ebag
(注意:本实现仅支持windows平台!支持MSVC、MinGW版编译。)