2017-09-29 1 views
1

J'essaie de faire en sorte que mon application (FlatSiteBuilder) affiche une icône dans la barre des tâches sur Ubuntu. Une petite application de démonstration le fait correctement en utilisant le code suivant. Mais quand j'essaye de faire ceci dans mon application seulement le QuestionMarkIcon est montré.
Lorsque j'essaie de modifier la cible de mon application de démonstration à FlatSiteBuilder dans le fichier .pro, l'icône n'apparaît plus.
Lorsque j'essaie de changer la CIBLE de mon application de démonstration à Gimp par exemple, alors l'icône Gimp est affichée.Qt Icône non affichée sur Linux

Où sont stockées les informations que Ubuntu montre le Gimp-Icon?
Où sont stockées les informations indiquant qu'Ubuntu n'affiche pas d'icône pour FlatSiteBuilder?

Mon fichier .pro
TARGET = IconTest -> montre l'icône correcte
TARGET = IconTest2 -> montre l'icône correcte
TARGET = FlatSiteBuilder -> montre l'icône questionmark
TARGET = Gimp -> montre l'icône Gimp

Répondre

2

Contrairement à Windows ou macOS (où les icônes d'application sont regroupées avec des exécutables), Linux agit un peu différemment quand il s'agit de telles ressources. En fait, il existe plusieurs endroits où les icônes peuvent être stockées. Par exemple, vous pouvez placer votre fichier icône SVG ici:

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

Et puis rafraîchir le cache d'icônes GTK à partir de votre terminal:

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

Oh, un cache ... alors le comportement est logique .. Cela fonctionne maintenant sans aucun changement. Juste commuté en mode de débogage. Recopile l'application et l'icône était visible. Maintenant, l'AppImage montre l'icône. –