2017-09-29 23 views
1

私のアプリケーション(FlatSiteBuilder)がUbuntuのタスクバーにアイコンを表示しようとしています。 小さなデモアプリでは、次のコードを使用してこれを正しく実行しています。QtアイコンがLinuxに表示されない

QApplication a(argc, argv); 
a.setWindowIcon(QIcon(QLatin1String(":/images/icon.svg"))); 

私のアプリでこれをやろうとすると、QuestionMarkIconだけが表示されます。
私のデモアプリケーションのTARGETを.proファイルのFlatSiteBuilderに変更しようとすると、アイコンはもう表示されません。
デモアプリのTARGETをGimpに変更しようとすると、たとえばGimp-Iconが表示されます。

UbuntuがGimp-Iconを表示している情報はどこにありますか?
UbuntuがFlatSiteBuilderのアイコンを表示していない情報はどこに保存されていますか?

マイ.PROファイル
TARGET = IconTest - >が正しいアイコン
TARGET = IconTest2示し - >がquestionmarkアイコン
TARGET = Gimp示し - - >を
TARGET = FlatSiteBuilder正しいアイコンが表示されます>は、Windowsとは異なり、Gimpのアイコン

答えて

2

を示しまたはmacOS(アプリケーションアイコンが実行可能ファイルにバンドルされている)の場合、Linuxはそのようなリソースになると少し違った動作をします。実際、アイコンを保存できる場所は複数あります。たとえば、あなたがここにあなたのSVGアイコンファイルを配置することができます

/usr/share/icons/hicolor/scalable/apps/FlatSiteBuilder.svg 

をしてから、端末からGTKのアイコンキャッシュを更新:

sudo update-icon-caches /usr/share/icons/* 
+0

ああ、キャッシュ...その後の行動は理にかなっています。.. 変更なしで動作します。デバッグモードに切り替えました。アプリを再収集して、アイコンが表示されました。今度はAppImageもアイコンを表示します。 –

関連する問題