У меня есть приложение 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.Значок не реагирует на события нажатия («активированные» сигналы).Снова в режиме отладки это работает, но не освобождает.