Цвет не выбранных вкладок в QTabWidget - PullRequest
1 голос
/ 26 сентября 2019

enter image description here

В QTabWidget с 3 вкладками я хотел бы изменить цвет фона вкладок НЕ ВЫБРАННЫЕ, оставив выбранную вкладку в цвете фона по умолчанию (белый).Другими словами, я хочу изменить цвет небольшой части двух невыбранных вкладок, которая отображается над выбранной вкладкой.

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

self.ui.tabWidget.tabBar().setStyleSheet('xxxxxxxx {background-color: yellow }')

1 Ответ

1 голос
/ 26 сентября 2019

Вы должны использовать QTabBar::tab:!selected:

from PyQt5 import QtWidgets

if __name__ == "__main__":
    import sys

    app = QtWidgets.QApplication(sys.argv)
    w = QtWidgets.QTabWidget()

    # For more information to customize the QTabWidget and QTabBar check
    # https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qtabwidget-and-qtabbar
    w.setStyleSheet(
        """
    QTabBar::tab:!selected {
        background: green
    }
    """
    )
    for i in range(5):
        w.addTab(QtWidgets.QWidget(), f"tab-{i}")
    w.show()
    w.resize(640, 480)
    sys.exit(app.exec_())

В вашем случае:

self.ui.tabWidget.setStyleSheet("""QTabBar::tab:!selected{ background: green }""")
...