QT窗口样式设置之 setWindowFlags

📅 2026/7/26 1:45:05
QT窗口样式设置之 setWindowFlags
介绍在进行Gui开发时往往不会使用windows原生的窗口而是需要进行自定义此时就需要去除原有的窗口以及上面相关的关闭按键最小化最大化按键等这里使用函数void setWindowFlags ( Qt::WindowFlags type )Qt::WindowFlags 标志位标志位功能Qt::CustomizeWindowHint自定义窗口标题栏Qt::WindowTitleHint显示窗口标题栏必须与 Qt::CustomizeWindowHint 一起使用才有效,否则窗口将有默认的标题栏Qt::WindowSystemMenuHint显示系统菜单Qt::WindowMinimizeButtonHint显示最小化按钮Qt::WindowMaximizeButtonHint显示最大化按钮Qt::WindowMinMaxButtonsHint显示最小化按钮和最大化按钮Qt::WindowCloseButtonHint显示关闭按钮Qt::FrameWindowHint没有边框的窗口Qt::WindowStaysOnTopHint总在最上面的窗口Qt::Drawer去掉窗口左上角的图标右上角的最大化最小化按钮Qt::SubWindow窗口没有按钮但是有标题栏Qt::Desktop没有显示在桌面也没在任务栏。但是任务管理器中存在可以进行查看关闭Qt::SplashScreen标题栏、按钮都没有不能移动且不能拖动缩放且在下方任务栏中没有只能再任务管理器中查看关闭Qt::Tool只有关闭按钮和标题名例子int main(int argc, char *argv[]) { QApplication a(argc, argv); MainWindow w; w.setWindowFlags( Qt::CustomizeWindowHint | Qt::WindowTitleHint ); w.show(); return a.exec(); }运行效果