QSystemTrayIcon - showMessage()不会立即显示消息

时间:2015-06-07 04:36:28

标签: qt

这是代码,

void MainWindow::start() { //a slot that responds to a button press
    //...
    trayIcon->setVisible(true);
    trayIcon->showMessage(tr("Foo"),
                      tr("Foo fooo foooo fooooo foooooo baaaaar"),
                          QSystemTrayIcon::Information,
                          1000);
    //...
}

但是按下按钮后我没有立即看到消息 - 它在几秒钟后显示出来;有时它甚至根本没有出现。首先,我尝试删除函数中的所有其他语句。但它没有用。我也试过了QApplication::processEvents();,但是徒劳无功。我用谷歌搜索,但无法提出任何相关的解决方案。有谁知道如何找出问题所在?

1 个答案:

答案 0 :(得分:2)

您使用什么操作系统?根据{{​​3}}文档:

  

请注意,消息的显示取决于系统   配置和用户首选项,可能不会显示该消息   一点都不因此,不应该依赖它作为唯一的手段   提供关键信息。

在Linux下,它按预期工作。您可以在qApp->processEvents()来电后尝试拨打showMessage