如何使用Qt响应桌面启动通知

时间:2013-04-16 07:33:29

标签: qt notifications desktop startup

我有一个Qt应用程序,在Xfce和其他Linux桌面下运行,效果很好,除了循环的“启动通知”图标在应用程序启动时没有被解雇,因此它会在应用程序主体后持续一段时间窗口正在显示并完成。

我会假设QApplication默认会在主窗口事件循环启动时关闭通知,或者我会调用某种方法来执行此操作。我在Qt API文档中找不到任何相关内容,或者在Qt启动通知中找不到谷歌搜索。

如何在Qt应用程序中解除启动通知。

2 个答案:

答案 0 :(得分:2)

不添加

StartupNotify=false

到您应用的.desktop文件解决问题?。在KDE中,

X-KDE-StartupNotify=false

工程;也许XFCE有一个类似的变量。

答案 1 :(得分:0)

首次显示第一个窗口时,启动通知会在Qt内部自动发送(请参阅src / plugins / platforms / xcb / qxcbscreen.cpp),但是很显然,由于存在错误,如果有引号或程序路径中.desktop文件中的转义字符(\

此外,如果显示Terminal=true,则xterm会删除环境变量DESKTOP_STARTUP_ID,并且不会到达您的应用程序,因此最好不要同时启用TerminalStartupNotify标志同时。

已在MATE进行了测试。