QTextEdit背景颜色也改变了滚动条的颜色

时间:2012-03-04 11:16:07

标签: c++ qt

我希望我的应用中的QtextEdit为绿色,因此我将样式表设置为

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

然而,这也改变了滚动条的背景颜色,即使我在短信中单击鼠标右键,显示的菜单也是绿色的,这不是我的预期。

我正在使用 Qt Designer 设计gui,然后我使用 uic 生成c ++文件。

在c ++文件中它看起来像这样:

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

有人知道如何仅为文本区域设置背景颜色吗?

谢谢

1 个答案:

答案 0 :(得分:10)

文本编辑的所有子对象都会继承样式表,因此所有子项(例如上下文菜单)都将具有绿色背景。

您应该只在样式表中选择QTextEdit,即

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

请注意,您也可以在应用程序级别设置样式表,以便应用中的所有QTextEdit都具有您指定的背景:

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