Qt设置不在win任务栏显示将无法正常关闭程序
1、windows下
2、用Qt Creator
%%:使用widget.setWindowFlags() 参数使用:Qt::Tool、 Qt::SubWindow 、 Qt::Popup
以上三个参数任意选用一个均可以实现Qt程序在运行时,windows的任务栏上不显示该Qt程序。
##:我对widget设置去掉了标题栏,于是为了关闭程序我重写了void mousePressEvent(QMouseEvent *event)实现了鼠标右击时关闭该窗体。调用的是close()函数
如果我只是单独实现##没有实现%%,##是可以正常使用的。但是我加上%%的功能后,用Qt Creator运行了,
再对其右击时发现Qt creator的输出框并没有显示该应用程序已经关闭!!!但是屏幕上的窗体确实是消失了!!!此时我尝试去关闭Qt Ctreator会有提示说:是否要强制关闭(我刚刚运行的程序)。这就更加说明了我的程序没有正常退出!!!
如何在实现%%and##的条件下让程序可以正常关闭~
没有试验,可能会有以这样的问题。但不是Qt的问题。默认情况下,Qt会在最后一个窗口关闭后退出主程序。类似于关闭主窗口就退出。但是当你把窗口设置成 上边的情况时,可能是你的窗口失去了“主窗口”的特性,而导致程序不能正常关闭。你也可以自己查看Qt的源代码确认此事。
找了找源代码,发现原本Qt 就有一个信号解决这个问题。。。
看来对 Qt Document 还有待进一步学习。
void QApplication::lastWindowClosed () [signal]
This signal is emitted from QApplication::exec() when the last visible primary window (i.e. window with no parent) with the Qt::WA_QuitOnClose attribute set is closed.
By default,