QTextEdit背景颜色也会更改滚动条的颜色

QTextEdit background color change also the color of scrollbar

本文关键字:颜色 滚动条 背景 QTextEdit      更新时间:2023-10-16

我希望我的应用程序中的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);

有人知道如何只为文本所在的区域设置背景色吗?

感谢

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

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

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

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

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