【问题标题】:Pyside: setting the background color for QScrollAreaPyside:设置 QScrollArea 的背景颜色
【发布时间】:2018-04-15 06:11:59
【问题描述】:

我正在制作滚动区域,但我想更改滚动区域中包含的区域的颜色。我尝试使用样式表,但最终改变了我在滚动区域内添加的所有小部件的颜色。

有什么方法可以在不使用样式表的情况下更改颜色?

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)

【问题讨论】:

    标签: python pyside background-color qtstylesheets qscrollarea


    【解决方案1】:

    您只需要指定将样式表规则应用于哪些类的小部件:

    scroll.setStyleSheet('QScrollArea {background-color: #D8D8D8}')
    

    或者,更具体地说,使用对象名称:

    scroll.setObjectName('myscrollarea')
    scroll.setStyleSheet('#myscrollarea {background-color: #D8D8D8}')
    

    有关 qss 选择器的完整列表,请参阅Style Sheet Reference

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2023-03-25
      • 2010-09-17
      • 2018-07-15
      • 2014-09-04
      • 2010-11-10
      • 2013-08-04
      • 1970-01-01
      相关资源
      最近更新 更多