我正在创建一个滚动区域,但我想更改滚动区域中包含的区域的颜色。我尝试使用样式表,但最终改变了我在滚动区域内添加的所有小部件的颜色。
有没有办法在不使用样式表的情况下更改颜色?
container = QtWidgets.QWidget()
self.list_layout = QtWidgets.QVBoxLayout(spacing=1, margin=2)
container.setLayout(self.list_layout)
scroll = QtWidgets.QScrollArea()
scroll.setVerticalScrollBarPolicy(QtCore.Qt.ScrollBarAlwaysOn)
scroll.setHorizontalScrollBarPolicy(QtCore.Qt.ScrollBarAlwaysOff)
scroll.setWidgetResizable(True)
scroll.setWidget(container)
scroll.setStyleSheet('background-color: #D8D8D8')
grid_layout.addWidget(scroll, 2, 0, 1, -1)
答案 0 :(得分:0)
您只需指定要将样式表规则应用于哪个窗口小部件类:
scroll.setStyleSheet('QScrollArea {background-color: #D8D8D8}')
或者,更具体地说,使用对象名称:
scroll.setObjectName('myscrollarea')
scroll.setStyleSheet('#myscrollarea {background-color: #D8D8D8}')
有关qss选择器的完整列表,请参阅Style Sheet Reference。