QTextEdit меняет цвет фона и цвет полосы прокрутки - PullRequest
5 голосов
/ 04 марта 2012

Я хочу, чтобы QtextEdit в моем приложении был зеленым, поэтому я установил таблицу стилей на

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

Однако это также меняет цвет фона полос прокрутки, и даже когда я нажимаю правую кнопку мыши в текстовом окне,отображаемое меню также зеленого цвета, и это не то, что я ожидал.

Я использую Qt Designer для разработки графического интерфейса, а затем я использовал uic для генерацииФайл c ++.

В файле c ++ это выглядит так:

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

Кто-нибудь знает, как установить цвет фона только для области, где будет находиться текст?

Спасибо

1 Ответ

10 голосов
/ 04 марта 2012

Все дочерние объекты вашего редактирования текста наследуют таблицу стилей, поэтому все дочерние объекты (например, контекстные меню) будут иметь зеленый фон.

Вы должны выбрать свой QTextEdit только в своей таблице стилей, то есть

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

Обратите внимание, что вы также можете установить таблицу стилей на уровне приложения, чтобы все QTextEdit в вашем приложении имели заданный фон:

qApp->setStyleSheet("QTextEdit { background-color: rgb(109, 255, 99) }");
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...