Как частично изменить цвет фона виджета?
Я знаю, как изменять цвет фона виджета полностью, а можно ли как-то менять цвет фона частично?
Например цвет верхней четверти, как на картинке ниже.
import sys
from PyQt5.QtWidgets import *
from PyQt5.QtCore import Qt
class MainWindow(QMainWindow):
def __init__(self):
super().__init__()
self.central_widget = QWidget(self)
self.setCentralWidget(self.central_widget)
self.central_widget.setAttribute(Qt.WA_StyledBackground, True)
self.central_widget.setStyleSheet('background-color: yellow')
self.layout_main_window = QVBoxLayout()
self.central_widget.setLayout(self.layout_main_window)
self.layout_main_window.addWidget(QLabel('Строка 1'))
self.layout_main_window.addWidget(QLabel('Строка 2'))
self.layout_main_window.addWidget(QLabel('Строка 3'))
self.layout_main_window.addWidget(QLabel('Строка 4'))
if __name__ == '__main__':
app = QApplication(sys.argv)
main_window = MainWindow()
main_window.show()
sys.exit(app.exec_())
Сейчас так:
А нужно примерно вот так:
UPD: Речь именно о виджетах, а не об окне в целом, в окне таких цветных квадратиков может быть несколько и мне каждый из них нужно покрасить в два цвета:
Источник: Stack Overflow на русском