2010-12-13 15 views
8

Est-il possible de rechercher des valeurs de feuille de style au moment de l'exécution dans Qt?Détermination des options de la feuille de style Qt par programme?

Je travaille sur un bouton personnalisé dérivé de QPushButton qui a des propriétés de feuille de style définies. Je voudrais être en mesure de regarder certains paramètres de feuille de style comme la largeur de bordure, margin, padding-top, padding-left, padding-right, etc. Est-ce tout possible de le faire sans appeler widget->getStyleSheet() et analyse syntaxique les valeurs moi-même?

Répondre

3

Ne le pensez pas, vous pourriez être en mesure de trouver quelque chose en passant par le code de dessin. Mais l'analyse syntaxique et l'application de feuilles de style est plutôt optimisée et utilise beaucoup de prétraitement. Je ne pense même pas que vous pouvez accéder à la feuille de style d'un widget s'il a été défini dans un parent.

5

En interne, lorsque vous appelez QApplication :: setStyleSheet() Qt crée une sous-classe QStyle appelée QStyleSheetStyle. Cela signifie que vous pouvez interroger les informations de la feuille de style via les méthodes QStyle normales. N'oubliez pas de remplir correctement les options et les paramètres du widget pour vous assurer d'obtenir les bonnes valeurs de la feuille de style.