Aktivieren Sie QLabel zum Verkleinern, auch wenn Text abgeschnitten wird

8

Wie kann ich die Größe eines QLabels ändern, auch wenn es bedeutet, den enthaltenen Text zu kürzen? Ich habe ein QLabel, das den gesamten horizontalen Raum eines Widgets streckt. Wenn ich seinen Text einstelle, vergewissere ich mich, dass er richtig abgeschnitten ist, dh ich bekomme FontMetrics und Width und verwende metrics.elidedText ().

Aber wenn der Benutzer die Größe des Widgets ändert, lässt das Label es nicht weiter schrumpfen, da es seinen Text abschneiden würde.

Irgendwelche Ideen, wie man das löst? Die einfachste Lösung wäre meiner Meinung nach, QLabel irgendwie dazu zu bringen, immer zu schrumpfen und dann das Resize-Ereignis zu erfassen und den Text korrekt zu formatieren - ich habe einfach keine Ahnung, wie man den ersten Teil macht (andere Größenrichtlinien helfen nicht) >     

Voo 17.07.2011, 00:24
quelle

1 Antwort

9

Obwohl Sie erwähnen, dass das Festlegen von Größenrichtlinien nicht hilfreich war, sollten Sie beim Festlegen der Richtlinie für die horizontale Größe von QLabel auf QSizePolicy::Ignored dem übergeordneten Layoutmanager mitteilen, dass er einen Mindestgrößenhinweis ignoriert. Eine Alternative wäre, die minimale horizontale Größe von QLabel auf einen Wert ungleich Null zu setzen, wie 1. Wenn keine von beiden funktioniert, stört etwas anderes.

    
Arnold Spence 17.07.2011, 01:35
quelle

Tags und Links