我希望我的应用中的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);
有人知道如何仅为文本区域设置背景颜色吗?
谢谢
答案 0 :(得分:10)
文本编辑的所有子对象都会继承样式表,因此所有子项(例如上下文菜单)都将具有绿色背景。
您应该只在样式表中选择QTextEdit,即
textEdit->setStyleSheet("QTextEdit { background-color: rgb(109, 255, 99) }");
请注意,您也可以在应用程序级别设置样式表,以便应用中的所有QTextEdit都具有您指定的背景:
qApp->setStyleSheet("QTextEdit { background-color: rgb(109, 255, 99) }");