gpt4 book ai didi

c++ - 控制台应用程序中的 Linux Qt QSystemTrayIcon

转载 作者:太空宇宙 更新时间:2023-11-04 10:43:34 25 4
gpt4 key购买 nike

我有一个可用的 qt 应用程序。它不是 MainWindow 应用程序,到目前为止根本没有 GUI 元素。它在 linux box 启动时运行(作为后台服务)。但是,它必须等待大约 40-60 秒才能开始,同时 IP/DHCP 自行解决问题。

所以我想就发生的事情向用户提供一些反馈。我认为添加系统托盘图标可能会更好,看起来比终端更专业(尽管我可以这样做)。

但是,在阅读了有关 QSystemTrayIcon 的文档后,我仍然不确定是否必须将它用作 MainWindow 样式应用程序的一部分(即我是否需要添加主窗口并使系统托盘成为其中的一部分),或者我可以在我的“控制台”风格的应用程序中运行它吗?

最佳答案

我自己为 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();
}

干杯

关于c++ - 控制台应用程序中的 Linux Qt QSystemTrayIcon,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34039245/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com