【问题标题】:QSystemTrayIcon does not show messageQSystemTrayIcon 不显示消息
【发布时间】:2024-01-09 09:21:01
【问题描述】:

我正在尝试使用 QSystemTrayIcon 在应用程序初始化后显示一条消息。我的主循环使用零周期的单次计时器立即调用 Init() 函数:

int r;
QTimer::singleShot(0, &app, SLOT(Init()));
r = app.exec();
return r;

经过一些初始化步骤,并在 MyApplication::SetupTrayIcon() 中创建了 trayIcon,其中正确的图标毫无问题地出现,我在其中调用 MyApplication 类中的另一个函数。

QApplication::processEvents();
_pTrayIcon->showMessage("TITLE", "TRAY TEXT SAMPLE");

我尝试使 QSystemTrayIcon 实例成为 QApplication 的子类(MyApplication 是一个子类),一个 QWidget 子类,但没有任何反应。即使没有任何父母,也不会发生任何事情。

系统是 Windows XP SP3,什么都不是。

【问题讨论】:

    标签: qt message system-tray


    【解决方案1】:

    解决了。

    Explorer.exe 通过系统注册表禁用了系统托盘气球提示(HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced\EnableBalloonTips 设置为 0)。

    【讨论】: