介绍
在进行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();
}
运行效果: