2

私はアプリを書いていて、トレイクラスに奇妙なバグがあります。クラス内でQSystemTrayIconlikeを使用

 tray = new QSystemTrayIcon(this);
 tray->setIcon(QIcon(":/gui/logo.png"));
 ...
 tray->show();

オンWinXPWindows7正常に動作しているが、オンのWindows 8アイコンが表示されない

    qDebug()<<"System TRAY:"<< QSystemTrayIcon::isSystemTrayAvailable();// outputs true

Qt5.1.1 MSVC 2012 を使用しています

4

2 に答える 2

3

私はちょうど同じ問題を抱えていました.phyattから使用した解決策は、imageformatsフォルダーをアプリのpluginsフォルダーにコピーすることであり、現在は正常に機能しています.

于 2013-12-15T12:38:15.610 に答える
2

システム トレイ アイコンが読み込まれるかどうかは、ファイル タイプを読み込めるかどうかに大きく依存することがわかりました。

展開環境で適切なプラグインを使用できますか?

http://www.qtcentre.org/threads/43152-Deploying-Qt-Application-on-Windows-Load-JPG-Images-Problem

http://qt-project.org/doc/qt-4.8/deployment-windows.html

それが役立つことを願っています。

更新: Qt 5.1 w/ msvc 2012 32 ビットQSystemTrayIconWindows 8 Pro でのテスト結果: テスト アプリケーションのコンパイルとビルド、ストック UI フォーム プロジェクトでの次のコード、mainwindow.cpp での次のコード

#include "mainwindow.h"
#include "ui_mainwindow.h"
#include <QSystemTrayIcon>

MainWindow::MainWindow(QWidget *parent) :
    QMainWindow(parent),
    ui(new Ui::MainWindow)
{
    ui->setupUi(this);
    QSystemTrayIcon * sys = new QSystemTrayIcon(this);
//    sys->setIcon(QIcon("C:/Users/phyatt/Downloads/system-tray.png"));
    sys->setIcon(QIcon(":/gui/system-tray.png"));
    sys->show();
}

MainWindow::~MainWindow()
{
    delete ui;
}

そして、これらの依存関係がexeの横にあるため、問題なく動作します。

Qt 5.1 の依存関係

スクリーンショット

于 2013-09-09T21:45:08.387 に答える