"text-overflow" für ein QLabel text-rendering in QT
Ich habe ein QLabel-element in einem widget die Größe geändert werden kann. Der text kann mit overflow-Grenzen, so dass ich benötigen, um die Anwendung, um mehr elegant Aussehen, einige Weg, um den text zu generieren, wird ein Auslassungszeichen (...) nach der letzten, Total sichtbares Wort in den text.
Machen layouts in HTML/CSS, die ich verwendet, um zu verwenden text-overflow: ellipsis;
für diese, sondern für die QT-Klassen, die ich noch nicht gefunden, alle Informationen auf dieser.
InformationsquelleAutor Mario | 2011-09-11
Du musst angemeldet sein, um einen Kommentar abzugeben.
Sieht es aus wie auf Ihrem Etikett resize-Ereignis, die Sie erstellen können erstellte text über die Breite des widget und setzen den text. Verwenden QFontMetrics::elidedText Methode, um das erstellte version der Zeichenfolge.
hoffe das hilft, Grüße
minimumSizeHint()
mit so etwas wiereturn QSize(0, QLabel::minimumSizeHint().height());
. Ansonsten ist die Beschriftung kann nicht geändert werden unterhalb der original-text der Breite.InformationsquelleAutor serge_gubenko
Habe ich geändert-Lösung, die oben beschrieben und erstellt eine Funktion:
Hoffe, es wird nützlich sein.
InformationsquelleAutor Karatheodory
Qt-5 enthält einen Beispiel für eine erstellte label-Klasse das kann eine nützliche Referenz bei der Umsetzung Ihrer eigenen.
Des Beispiels:
elidedlabel.h:
elidedlabel.cpp:
InformationsquelleAutor kaveish