2017-09-29 4 views
1

Ich versuche, meine App (FlatSiteBuilder) ein Symbol auf der Taskleiste auf Ubuntu zeigen. Eine kleine Demo-App macht das richtig mit dem folgenden Code.Qt Symbol nicht unter Linux

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

Aber wenn ich versuche, dies in meiner App nur das QuestionMarkIcon wird angezeigt.
Wenn ich versuche, das TARGET meiner Demo-App in FlatSiteBuilder in der .pro-Datei zu ändern, wird das Symbol nicht mehr angezeigt.
Wenn ich versuche, das TARGET meiner Demo-App zum Beispiel auf Gimp zu setzen, wird das Gimp-Icon angezeigt.

Wo ist die Information gespeichert, dass Ubuntu das Gimp-Icon zeigt?
Wo ist die Information gespeichert, dass Ubuntu kein Icon für FlatSiteBuilder zeigt?

Meine .proDatei
TARGET = IconTest -> zeigt das richtige Symbol
TARGET = IconTest2 -> zeigt das richtige Symbol
TARGET = FlatSiteBuilder -

Antwort

2

Im Gegensatz zu Windows> zeigt das Gimp-Symbol -> Das Symbol zeigt Question
TARGET = Gimp oder Mac OS (wo die Anwendungssymbole mit ausführbaren Dateien gebündelt sind), verhält sich Linux etwas anders, wenn es um solche Ressourcen geht. Tatsächlich gibt es mehrere Orte, an denen die Symbole gespeichert werden können. Zum Beispiel können Sie Ihre SVG Icon-Datei hier platzieren:

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

Und dann das GTK-Symbol-Cache von Ihrem Terminal aktualisieren:

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

Oh, ein Cache ... dann macht das Verhalten Sinn .. Es funktioniert jetzt ohne Änderungen. Ich bin gerade in den Debug-Modus gewechselt. Kopiere die App neu und das Symbol war sichtbar. Jetzt zeigt auch das AppImage das Icon an. –

Verwandte Themen