У меня есть главное окно PyQt, содержащее QTabWidget. Виджет вкладки содержит несколько кнопок и текстовых полей.
Я хотел бы покрасить весь фон вкладки, а не только вкладки, которые торчат в области панели вкладок.
Я не использую таблицы стилей и предпочел бы использовать палитру, поскольку я уже использую палитры, но если таблицы стилей — единственный вариант, это нормально.
Я пробовал:
p = self.tabWidget.palette()
p.setColor(self.tabWidget.backgroundRole(), Qt.red)
self.tabWidget.setPalette(p)
Это создает красную область панели вкладок, но основной фон остается белым.
Отключение автозаполнения с помощью self.tabWidget.setAutoFillBackground(False) имеет небольшое значение, отдельные вкладки теперь красиво окрашены, но основная часть по-прежнему белая.
Пробуем небольшую таблицу стилей:
self.tabWidget.setStyleSheet("QWidget {background-color: yellow }")
Это окрашивает основную часть вкладки, однако также окрашивает все остальное в желтый цвет, включая кнопки и текстовые поля. Кроме того, все маленькие выступы, которые торчат, все желтые. Автозаполнение никак не повлияло.
Любые идеи о том, как покрасить тело вкладки, но не уничтожить другие виджеты?
Я использую PyQt версии 4.10 и Python 2.7.