2010-12-07 30 views
0

J'ai essayé \ n et \ r \ n, mais je ne peux pas afficher deux lignes de texte correctement. Je suis en train de coder une application mobile Qt.Qt - QPushButton newline ne fonctionne pas

QPushButton *button = new QPushButton(QString("long lines of \n text")); 
button->setMaximumWidth(320); 
+0

Je ne vois pas votre bouton d'ici. Qu'est-ce qui n'est pas correct à propos de l'affichage? :) –

+0

Vous voulez dire que le saut de ligne ne fonctionne pas? – problemofficer

+0

Désolé, correct - Je veux dire que le saut de ligne ne fonctionne pas. Le texte du bouton déborde sur le bouton, le rendant ainsi invisible. –

Répondre

0

Je ne sais pas si vous attribuez le parent pour le bouton plus tard, mais lorsque je tente que le code de l'intérieur sous une forme à base de QWidget et passer un parent, je reçois un bouton avec deux lignes de texte il.

QPushButton *button = new QPushButton(QString("long lines of \n text", this)); 
button->setMaximumWidth(320); 

La définition de la largeur maximale n'empêchera pas la taille du bouton d'être réduite par une mise en page. Le \ n devrait faire en sorte que le texte couvre deux lignes de sorte que quelque chose en rapport avec une mise en page limite probablement la taille du bouton.

+0

Je me demande si cela a quelque chose à voir avec le QString provenant d'une analyse XML. –

+1

C'est probable. Lire les caractères '\' et 'n' dans un QString n'est pas la même chose que de spécifier '\ n' dans un littéral de chaîne. –

+0

@Frank LoVecchio Si xml est utilisé alors vous devez utiliser comme ça: aParseString.replace ("\\ n", "\ n"); –