2012-03-04 2 views
5

Je veux que le QTextEdit dans mon application pour être verte, donc je mis la feuille de style àchangement de couleur de fond QTextEdit aussi la couleur de scrollbar

background-color: rgb(109, 255, 99); 

Toutefois, ce changement aussi la couleur de fond des barres de défilement et même quand je clique bouton droit de la souris dans le texttedit le menu qui est montré est également vert et ce n'est pas ce que je m'attendais.

J'utilise Qt Designer pour concevoir et je IUG utilisé le uic pour générer C++ fichier.

dans le fichier C++, il ressemble à ceci:

textEdit->setAutoFillBackground(false); 
textEdit->setStyleSheet(QString::fromUtf8("background-color: rgb(109, 255, 99);")); 
textEdit->setReadOnly(true); 

Quelqu'un sait comment définir la couleur d'arrière-plan uniquement pour la zone où le texte serait?

Merci

+0

figuré, il était simple, je vais ajouter une réponse normale dès qu'il me laisse et marque il accepté – Jan

Répondre

9

Tous les objets enfants de votre édition de texte hériter de la feuille de style, de sorte que tous les enfants (par exemple des menus contextuels) auront un fond vert.

Vous devez sélectionner votre QTextEdit que dans votre feuille de style, à savoir

textEdit->setStyleSheet("QTextEdit { background-color: rgb(109, 255, 99) }"); 

Notez que vous pouvez définir la feuille de style au niveau de l'application, aussi, de sorte que tous les années QTextEdit dans votre application aura votre arrière-plan spécifiée:

qApp->setStyleSheet("QTextEdit { background-color: rgb(109, 255, 99) }"); 
+0

Merci pour la réponse, c'est exactement où le problème était – Jan

+0

cela ne semblait pas fonctionner pour moi parce que le les boutons étaient encore coloré - devait faire ceci: QPalette * palette = new QPalette(); palette-> setColor (QPalette :: Base, QColor (0,0,0)); palette-> setColor (QPalette :: Text, QColor (128,128,128)); textEditor-> setPalette (* palette); pour un texte gris sur fond noir, cela n'a pas coloré l'un des boutons. Je pense que votre réponse était correcte, mais il semble que d'une certaine façon les boutons sont inclus dans la classe 'QTextEdit'. – osirisgothra