Qt 一般无边框窗口(QWidget Qt::FramelessWindowHint 带阴影)

效果图:

1.边框缩放

Qt 一般无边框窗口(QWidget Qt::FramelessWindowHint 带阴影)

2.拖拽至边界自动半屏全屏(windows)

Qt 一般无边框窗口(QWidget Qt::FramelessWindowHint 带阴影)

3.支持自定义绘制背景,修改resizeBackground函数即可,支持贴图

Qt 一般无边框窗口(QWidget Qt::FramelessWindowHint 带阴影)

4.边框修改、拖动缩放可以通过MSDN查到资料

4.1 当鼠标拖动窗口移动时,系统会发送WM_MOVING消息,传递一个RECT用来描述dragmove对应的边框,可以通过修改其中的值达你需要的效果

Qt 一般无边框窗口(QWidget Qt::FramelessWindowHint 带阴影)

4.2 当鼠标按下移动边界进行缩放时,系统会发送WM_SIZING消息,类似上面lparam也是一个RECT,用来描述修改大小的边框,可以手动修改进行设置

Qt 一般无边框窗口(QWidget Qt::FramelessWindowHint 带阴影)

源码:戳这