#!/usr/bin/env python from PyQt5 import QtGui, QtWidgets class TabBar(QtWidgets.QTabBar): def paintEvent(self, event): painter = QtWidgets.QStylePainter(self) option = QtWidgets.QStyleOptionTab() for index in range(self.count()): self.initStyleOption(option, index) bgcolor = QtGui.QColor(self.tabText(index)) option.palette.setColor(QtGui.QPalette.Window, bgcolor) painter.drawControl(QtWidgets.QStyle.CE_TabBarTabShape, option) painter.drawControl(QtWidgets.QStyle.CE_TabBarTabLabel, option) class Window(QtWidgets.QTabWidget): def __init__(self): QtWidgets.QTabWidget.__init__(self) self.setTabBar(TabBar(self)) for color in "tomato orange yellow lightgreen skyblue plum".split(): self.addTab(QtWidgets.QWidget(self), color) if __name__ == "__main__": import sys app = QtWidgets.QApplication(sys.argv) window = Window() window.resize(420, 200) window.show() sys.exit(app.exec_())