Je construis une application QML avec l'Ubuntu SDK. J'ai compris comment ajouter une icône d'application au fichier .desktop
, mais je ne suis pas sûr d'où ajouter l'icône de la fenêtre elle-même. J'ai vu du code pour définir Applicaton.windowIcon
avec C++, mais j'utilise seulement QML/JS. Comment puis-je ajouter mon icône à la configuration de l'application ?
Réponses
Trop de publicités?Définir l'icône dans votre fichier .desktop
signifie l'ajouter à la configuration de votre application, donc je ne suis pas tout à fait sûr de ce que vous demandez. Tant que l'icône est installée avec tout le reste, vous devriez être prêt. Si vous installez via un package click, un nom de fichier relatif pour l'icône dans le fichier .desktop
est tout ce dont vous avez besoin; sinon, vous voudrez peut-être utiliser un chemin absolu.
Si vous essayez de définir l'icône pour un programme qui n'est pas installé, vous pouvez ajouter le fichier desktop à ~/.local/share/applications/
. De ce que je me souvienne, ce fichier ne sera pas détecté immédiatement, mais il sera chargé finalement. Déconnecter puis vous reconnecter forcera probablement un rafraîchissement.
Si vous voulez ajuster l'icône de manière programmable pendant que l'application s'exécute, je ne peux pas vous aider. Je serais surpris si vous pouviez le faire en QML pur, mais il pourrait être facile d'écrire un plugin C++.
Tout d'abord, ajoutez l'icône à un fichier de ressources. Votre assets.qrc pourrait ressembler à ceci
assets/icons/logo.png
Ensuite, vous devez définir l'icône de l'application du côté C++
#include
#include
#include
int main(int argc, char** argv) {
QGuiApplication app(argc, argv);
QGuiApplication::setWindowIcon(QIcon(":/assets/logo.png"));
// Ensuite, faites ce qui est nécessaire pour configurer le moteur QML
}
Cela devrait définir efficacement l'icône de l'application. Sur ma machine Ubuntu, l'icône de l'application apparaît à deux endroits lorsque l'application est en cours d'exécution