我有一个带有系统托盘图标的Qt应用程序和右键单击图标时显示的菜单。出于某种原因,菜单项在调试模式下工作正常,但在发布模式下不能正常工作。
QAction* closeAction = new QAction("Close", this);
QMenu* trayIconMenu = new QMenu(this);
trayIconMenu->addAction(closeAction);
QSystemTrayIcon* trayIcon = new QSystemTrayIcon(this);
trayIcon->setContextMenu(trayIconMenu);
QIcon trayIconIcon("Application.png");
trayIcon->setIcon(trayIconIcon);
trayIcon->show();
QObject::connect(closeAction, SIGNAL(triggered()), this, SLOT(trayIconCloseAction_triggered()));
void MainWindow::trayIconCloseAction_triggered() {
MessageBoxes::info("Close item clicked");
}
当我右键单击该图标时,菜单显示但单击“关闭”不执行任何操作 - 根本不会调用trayIconCloseAction_triggered()
。它仅在发布模式下执行此操作。有谁知道可能是什么原因?
我正在使用Windows 7和Qt Creator,使用Qt的MSV-2010静态版本构建。
编辑:图标也不会对点击事件(“激活”信号)做出反应。再次在调试模式下它可以工作,但不能释放。
答案 0 :(得分:1)
在这种情况下,有一般性建议: