Comment définir du texte dans un QLabel et afficher les caractères '<>'?


silent_sight

En utilisant PySide2 (essentiellement PyQt5), j'essaye setTextdans un QLabel qui a les caractères «<» et «>» dans la chaîne. Mais, puisque ces caractères sont utilisés pour modifier la police, tout ce qui se trouve dans ces deux caractères disparaît. J'ai essayé de leur échapper avec une barre oblique inverse, mais cela ne semble toujours pas fonctionner ...

Comment puis-je faire apparaître les caractères «<» et «>» dans le QLabel?

EDIT: voici un peu ce que fait mon code (juste accroché les parties importantes):

# color and text get set at various places in my code (len_infs is just the length of the
#    influence item list - hopefully that's obvious...)
#
color = '#FF0000'
text = 'Influence count &lt%d&gt exceeds minimum row count...' %len_infs

# status_label is a QLabel that displays the text in the appropriate color within the label
#
status_label.setText('status: <font color=%s>%s</font>' %(color, text))

Comme vous pouvez le voir, j'utilise &ltet &gtdans la chaîne basée sur la suggestion d'ekhumoro, mais je n'obtiens pas '<' ou '>' dans le texte QLabel résultant

Je veux qu'il s'imprime status: Influence count <7> exceeds minimum row count...

mais il imprime en fait status: Influence count &lt7&gt exceeds minimum row count...

Dans les deux cas, «status:» est blanc, tandis que le reste est rouge comme prévu.

REMARQUE: l'utilisation '<%d>'dans la chaîne entraînestatus: Influence count exceeds minimum row count...

Que dois-je faire d'autre pour formater correctement la chaîne?

ekhumoro

La QLabelclasse prend automatiquement en charge le texte enrichi , vous devez donc utiliser des références d'entité de caractère pour échapper les caractères spéciaux. Pour <, utiliser &lt;et pour >, utiliser &gt;.

Si vous souhaitez désactiver complètement le support HTML, vous pouvez le faire:

label.setTextFormat(QtCore.Qt.PlainText)

Articles connexes


Comment afficher du texte dans un GridLayout?

KingF J'ai une grille comme sortie dans un JFrame et j'essaie de comprendre comment afficher du texte tel que A, B, C etc. verticalement à gauche de la grille et 1, 2, 3, etc. en haut . Voici ma sortie: http://imgur.com/a/rDs2Y et voici le code: import jav

comment afficher du texte et un lien dans ul

Andrew Barton Essayer de faire cet effet là où j'ai un ulavec des liens mais du texte à côté aussi. <ul> <li><a href="#">item 1</a><p>description about item</p></li> <li><a href="#">item 2</a><p>description about item</p></li> <li><a href="#">item

Comment définir l'opacité du texte qlabel dans PyQt?

eodj J'ai une étiquette et je veux la définir en texte au format html\css à partir d'une textvariable. label = QtGui.QLabel() text = '''<font face="tahoma" color="#45688E">THIS TEXT</font>''' label.setText(text) J'ai besoin que le mot CE soit coloré avec m