Qt::TOOL窗口关闭但进程仍在运行解决方案

问题描述

在Qt中mainwindow窗口设置了任务栏不显示,和置顶。代码如下

setWindowFlags( Qt::Tool | Qt::X11BypassWindowManagerHint| Qt::WindowStaysOnTopHint);

设置后窗口没有最大化,最小化按钮,只有一个红色的关闭按钮,但是点击之后,窗口关闭,进程仍然在运行。也就是窗口的关闭按钮结束不了程序。
这里写图片描述

解决方法

首先在mainwindow.cpp文件中加入下面代码

setAttribute(Qt::WA_QuitOnClose);

然后在main.cpp文件中的main函数中加入

a.connect( &a,SIGNAL(lastWindowClosed()),&a,SLOT(quit()));

a是QApplication类型的对象,系统默认生成。

保存,运行,完美解决不能彻底关闭问题,窗口关闭进程结束。

你可能感兴趣的:(Qt)