1

我正在尝试使用 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,什么都没有。

4

1 回答 1

3

解决了。

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

于 2010-06-09T23:13:02.450 回答