閉じるとシステム トレイに戻る QT Creator で作成された QT アプリケーションをデプロイしようとしています。
svg トレイ アイコンを作成しました。ウィンドウ 7 のデバッグおよびリリース モードで QT Creator から実行すると、トレイ アイコンが表示されますが、すべてを別のディレクトリにコピーして配布可能なアーカイブを作成すると、トレイ アイコンが表示されなくなりました。
もちろん、私はすでに解決策を探していますが、まだ見つけたものはすべて作成しました。
だから私が持っているもの:
プロジェクトルートにあるtrayicon.svgファイル
- qrc ファイルが作成され、trayicon.svg がリソース ファイルのルートに追加されます
- プロジェクト .pro ファイル: RESOURCES += resources.qrc
- バイナリ + 必要な dll をターゲット ディレクトリにコピー
- QT プラグイン imageformats/* をターゲット ディレクトリ imageformats にコピーしました
- QApplication a(argc, argv); を追加しました。a.addLibraryPath(a.applicationDirPath()); main.cppへ
これがこれまでに見つけたすべてですが、それでもシステムトレイアイコンが表示されません
私は何が欠けていますか?
(現在のqt 4.8 +ちなみに現在のqtcreator)
@netrom
MainWindow のコード: QMainWindow コンストラクター:
trayIcon = new QSystemTrayIcon(this);
showAction = new QAction(tr("&Show"), this);
connect(showAction, SIGNAL(triggered()), this, SLOT(show()));
quitAction = new QAction(tr("&Quit"), this);
connect(quitAction, SIGNAL(triggered()), qApp, SLOT(quit()));
trayIconMenu = new QMenu(this);
trayIconMenu->addAction(showAction);
trayIconMenu->addSeparator();
trayIconMenu->addAction(quitAction);
trayIcon->setContextMenu(trayIconMenu);
connect(trayIcon, SIGNAL(activated(QSystemTrayIcon::ActivationReason)), this, SLOT(iconActivated(QSystemTrayIcon::ActivationReason)));
trayIcon->setIcon(QIcon(":trayicon.svg"));
trayIcon->show();