Depuis quelque temps je cherche une méthode adéquate pour faire pivoter un QLabel - et le plus important pour garder ses fonctionnalités et ses feuilles de style.Rotation de QLabel et maintien de sa fonctionnalité/feuille de style
J'ai trouvé une approche assez intéressante ici: Vertical QLabel, or the equivalent?
D'abord, j'était satisfait car efficacement tourné l'étiquette. Malheureusement, la feuille de style que j'ai ajoutée (en utilisant une plus grande police et une autre couleur) a été complètement perdue et l'alignement a disparu aussi (myLabel_->setAlignment(Qt::AlignTop);
n'a aucun effet).
J'ai lu QPainter::drawStaticText
fournirait plus de fonctionnalités, mais pour moi, il ne fonctionne pas du tout (j'utilise le même code que dans la solution dont nous avons parlé, juste avec la différence:
QStaticText qs = "Test1";
painter.drawStaticText(0,0,qs);
L'utilisation de HTML obsolète ("<b>...</b>
") au lieu de feuilles de style est également inutile ... Identique au retour à un QLabel standard et à l'aide de feuilles de style de transformation modernes (http://snook.ca/archives/html_and_css/css-text-rotation).
Je suis à peu près à court d'idées maintenant que je suis en mesure de garder les anciennes propriétés du QLabel et encore pouvoir le faire tourner ...
Nous vous remercions de votre solution! La partie avec la feuille de style a parfaitement fonctionné pour moi. Malheureusement, je ne peux toujours pas définir l'alignement (et je ne comprends pas pourquoi utiliser QStaticText - et où). En utilisant votre code, mon label a complètement disparu. Pourtant, je pourrais résoudre ce problème avec une autre idée. Je viens de déplacer mon Label dans un QGridLayout. Et au lieu d'utiliser 'myLabel _-> setAlignment (Qt :: AlignBottom);' J'ai utilisé 'mainLayout _-> addWidget (monLabel_, 1, 0, Qt :: AlignBottom);' - mainLayout_ est un QGridLayout. Résolu mon problème. – Qohelet