gpt4 book ai didi

c++ - 在后台运行一个程序,把它放在系统托盘中

转载 作者:塔克拉玛干 更新时间:2023-11-03 02:08:08 24 4
gpt4 key购买 nike

我正在使用 Qt,我希望我的程序能够进入系统托盘,但也能显示为一个窗口。

例如:我启动我的程序,它打开一个窗口,...,我关闭窗口但程序没有关闭,它仍在后台。然后我可以通过在系统托盘中创建的图标重新打开窗口。

我知道如何使用 QSystemTrayIcon 创建图标并在右键单击图标时创建菜单,并通过菜单启动事件。但是我不知道如何关闭我的程序窗口时,该程序在后台保持打开状态。

为了说明我的观点,它与 Steam 具有相同的功能。

最佳答案

您需要重新实现QWidget::closeEvent,隐藏窗口并忽略QCloseEvent

这在 Qt System Tray Icon Example 中有详细解释。 ,这是最有趣的部分:

void Window::closeEvent(QCloseEvent *event)
{
if (trayIcon->isVisible()) {
hide();
event->ignore();
}
}

关于c++ - 在后台运行一个程序,把它放在系统托盘中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38954007/

24 4 0