Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/qt/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Qt QSystemTrayIcon-showMessage()不';不要立即显示消息_Qt - Fatal编程技术网

Qt QSystemTrayIcon-showMessage()不';不要立即显示消息

Qt QSystemTrayIcon-showMessage()不';不要立即显示消息,qt,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"),

这是代码

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()也是,但是没有用。我在谷歌上搜索过,但找不到任何相关的解决方案。有人知道如何找出问题所在吗?

您使用的是什么操作系统?根据文件:

请注意,消息的显示取决于系统 配置和用户首选项,并且消息可能不会显示 完全因此,它不应被视为实现这一目标的唯一手段 提供关键信息


在Linux下,它可以正常工作。您可以在
showMessage
调用之后尝试调用
qApp->processEvents()

我现在使用的是Windows 8.1。我已经阅读了文档中的那部分。但令人惊讶的是,其他显示消息的程序显示消息时没有任何问题。我不知道为什么,只有我的应用程序没有(立即)显示消息。那么,你能告诉我如何找到问题的根源吗?仅仅一次又一次地检查代码是没有帮助的。试着用一个托盘图标和一个按钮创建一个最小的应用程序。按下按钮是否显示信息?如果是,那么可能是代码中的其他内容导致了问题。是的,我做到了。另一个项目奏效了。我注意到的另一件事是,该消息在调试运行期间显示得很好。我检查、再检查、再检查我的代码。没有任何明显的错误可以导致这个问题。无论如何,谢谢你的帮助!:)