Suite

Est-il possible de styliser la barre de messages QGIS à l'aide de QSS ?


Je développe un thème d'interface graphique pour QGIS 2.12 à l'aide de QSS (QSS est très similaire à CSS, mais pour le style des widgets Qt). Il s'agit d'une nouvelle fonctionnalité introduite dans 2.12 Pisa. Jusqu'à présent, les résultats sont encourageants !

Je veux styliser le QgsMessageBar. Comme vous pouvez le voir ici, la zone de message par défaut est minuscule, vous devez donc faire défiler plus de quelques lignes. J'aimerais l'approfondir.

J'ai essayé d'ajouter ceci à mon fichier .qss

QgsMessageBar { couleur d'arrière-plan : rouge ; hauteur : 100px ; }

Cela n'a aucun effet. C'est un QSS valide - s'il y avait des erreurs, le style s'effondrerait. j'ai aussi essayé de styliserQgsMessageBarItem(qui est le widget qui contient le message réel).

Je vois qu'il est possible de styliserQCadre(lequelQgsMessageBarhérite de). Ici, j'ai ajouté un peu de remplissage et une épaisse bordure noire - il y a beaucoup de QFrames :) Je veux styliser uniquement la barre de message et laisser les autres QFrames seuls.

Après quelques expérimentations, j'ai trouvé ceci, qui fonctionne presque…

QFrame QFrame { hauteur : 100px; }

Cependant, cela semble avoir un effet secondaire étrange; il ouvre une nouvelle fenêtre Map Composer en arrière-plan (!)

Une idée de comment je peux faire ça ?

(QGIS 2.12.2 Pise ; Ubuntu Tahr 32 bits)


En 2.12 pas encore. Le style de la barre de message est défini dans le code. Je travaille à le corriger pour la prochaine version afin qu'il puisse être stylisé à l'aide des fichiers QSS.


Actuellement, ce n'est pas possible. Si vous souhaitez partager vos thèmes avec d'autres utilisateurs, vous pouvez créer une pull request dans le référentiel du plugin LoasQSS et je téléchargerai une nouvelle version. Merci