退出qt程序时任务栏图标不消失怎么处理
要在退出Qt程序时使任务栏图标消失,可以通过设置窗口的属性和重写关闭事件来实现。
首先,在窗口类的构造函数中设置窗口的属性Qt::Tool,这将使窗口以工具窗口的形式显示,而不是常规窗口。代码如下:
MainWindow::MainWindow(QWidget *parent)
: QMainWindow(parent)
{
setWindowFlags(Qt::Tool);
}
然后,重写窗口的关闭事件closeEvent(QCloseEvent *event),在该事件中调用QApplication::quit()来退出程序。代码如下:
void MainWindow::closeEvent(QCloseEvent *event)
{
QApplication::quit();
}
这样,在点击窗口的关闭按钮时,会触发closeEvent事件,调用QApplication::quit()退出程序。此时任务栏图标也会消失。
注意:如果你使用的是继承自QDialog的自定义对话框类,将setWindowFlags(Qt::Tool)放在构造函数中即可,不需要重写closeEvent。
希望能帮助到你
原文地址: https://www.cveoy.top/t/topic/hV7M 著作权归作者所有。请勿转载和采集!