2012-03-04 36 views
5

Quiero que el QTextEdit en mi aplicación para ser verde por lo que establece la hoja de estilo aQTextEdit cambio de color de fondo también el color de la barra de desplazamiento

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

Sin embargo esto también cambiar el color de fondo de las barras de desplazamiento e incluso cuando hago clic el botón derecho del mouse en el texto, el menú que se muestra también es verde y eso no es lo que esperaba.

estoy usando Qt Designer GUI para diseñar y luego utilizaron la UIC para generar el archivo C++.

en el Archivo C++ que tiene este aspecto:

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

Alguien sabe cómo configurar el color de fondo sólo para el área en la que el texto sería?

Gracias

+0

lo resolvió, era simple, añadiré una respuesta normal tan pronto como me dejó y la marqué aceptada – Jan

Respuesta

9

Todos los objetos secundarios de su edición de texto heredar la hoja de estilo, por lo que todos los niños (por ejemplo contexto menús) tendrán un fondo verde.

Usted debe seleccionar su QTextEdit sólo en su hoja de estilo, es decir

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

Tenga en cuenta que se puede establecer la hoja de estilo a nivel de aplicación, también, para que todos los de QTextEdit en su aplicación tendrá su fondo especificado:

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

Gracias por responder, esto es exactamente donde el problema era – Jan

+0

esto no pareció funcionar para mí porque el los botones todavía estaban color: tenía que hacer esto: QPalette * palette = new QPalette(); palette-> setColor (QPalette :: Base, QColor (0,0,0)); palette-> setColor (QPalette :: Text, QColor (128,128,128)); textEditor-> setPalette (* palette); para un texto gris sobre fondo negro, esto no coloreó ninguno de los botones. Creo que tu respuesta fue correcta, pero parece que de alguna manera los botones están incluidos en la clase 'QTextEdit'. – osirisgothra

Cuestiones relacionadas