当前位置:   article > 正文

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

qmainwindow去掉标题栏

Qt 版本:Qt 6.5.0

Windows 11

当窗体为QWidget

    setWindowFlags(Qt::FramelessWindowHint);// 窗口不能缩放
    
    setWindowFlags(Qt::CustomizeWindowHint);// 窗口支持缩放,且窗体四角为圆角
  • 1
  • 2
  • 3
CustomizeWindowHintFramelessWindowHint
CustomizeWindowHint FramelessWindowHint

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

    setWindowFlags(Qt::FramelessWindowHint);// 窗口支持缩放,但窗体四角为直角
    
    setWindowFlags(Qt::CustomizeWindowHint);// 窗口支持缩放,且窗体四角为圆角
  • 1
  • 2
  • 3
CustomizeWindowHintFramelessWindowHint
CustomizeWindowHint FramelessWindowHint

UOS

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

setWindowFlags(Qt::FramelessWindowHint);

setWindowFlags(Qt::CustomizeWindowHint);
  • 1
  • 2
  • 3

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

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

setWindowFlags(Qt::FramelessWindowHint);

setWindowFlags(Qt::CustomizeWindowHint);
  • 1
  • 2
  • 3

TODO

Ubuntu、Windows 10

声明:本文内容由网友自发贡献,转载请注明出处:【wpsshop博客】
推荐阅读
相关标签
  

闽ICP备14008679号