我有一个有效的qt应用程序。它不是MainWindow应用程序,到目前为止根本没有GUI元素。它在linux盒子的启动时运行(作为后台服务)。但是,它必须等待大约40-60秒,直到它可以启动,而IP / DHCP将自己排除。
所以我想给用户一些关于发生了什么的反馈。我认为添加一个系统托盘图标看起来比终端更专业(虽然我可以这样做)可能会很不错。
但是,在阅读QSystemTrayIcon上的文档之后,我仍然不确定是否必须将它作为MainWindow样式应用程序的一部分使用(即我是否需要添加主窗口并使sys托盘成为其中的一部分),或者我可以在“控制台”风格的应用程序中运行它吗?
答案 0 :(得分:1)
我为win7创建了一个带有系统托盘的控制台应用程序,所以我没有关于linux客户端的信息。它不显示任何控制台,它只使用日志记录输出,系统栏显示“用户可读内容”。
您的应用需要使用QApplication
代替QCoreApplication
才能绘制小部件并创建QSystemTrayIcon
以显示系统托盘图标。现在只需填写菜单即可。
main.cpp
中的代码可能如下所示:
int main(int ac, char** av){
QApplication a(ac, av);
QSystemTrayIcon i;
QMenu* m = i.contextMenu();
m->addAction(tr("hello world!"));
i.show();
return a.exec();
}
欢呼声