Qt 去除标题栏不同方法不同平台差异探究

Qt 版本:Qt 6.5.0

Windows 11

当窗体为QWidget时

    setWindowFlags(Qt::FramelessWindowHint);// 窗口不能缩放
    
    setWindowFlags(Qt::CustomizeWindowHint);// 窗口支持缩放,且窗体四角为圆角
CustomizeWindowHint FramelessWindowHint
Qt 去除标题栏不同方法不同平台差异探究_第1张图片 Qt 去除标题栏不同方法不同平台差异探究_第2张图片

当窗体为QMainWindow时,两个标志都能实现窗体缩放,但有所差异

    setWindowFlags(Qt::FramelessWindowHint);// 窗口支持缩放,但窗体四角为直角
    
    setWindowFlags(Qt::CustomizeWindowHint);// 窗口支持缩放,且窗体四角为圆角
CustomizeWindowHint FramelessWindowHint
Qt 去除标题栏不同方法不同平台差异探究_第3张图片 Qt 去除标题栏不同方法不同平台差异探究_第4张图片

UOS

当窗体为QMainWindow时,设置以下两个标志去除标题栏均可实现窗口大小缩放。

setWindowFlags(Qt::FramelessWindowHint);

setWindowFlags(Qt::CustomizeWindowHint);

原因:QMainWindow下方有QStatusBar控件,将其移除后,两者均不能进行窗口大小缩放,可观察到右下角缩放标志消失。

而窗体为QWidget时,均不能实现窗口大小缩放

setWindowFlags(Qt::FramelessWindowHint);

setWindowFlags(Qt::CustomizeWindowHint);

TODO

Ubuntu、Windows 10

你可能感兴趣的:(Qt研究,qt,windows,c++)