仅使用调色板获取和设置QFrame或QGroupBox的背景颜色

问题描述 投票:0回答:1

如何获得和设置调色板的QFrameQGroupBox的背景颜色?据我所知,我可以用QPalette.ColorRole.Background来实现它们,但这也影响了窗口的颜色,因此整个界面设置为纯色,而不是使用更浅的阴影。有没有办法分别影响它们?

我知道我可以使用样式表,但是在这种情况下,我只想尽可能地使用调色板来实现它。

python python-2.7 pyside2
1个回答
0
投票

这样的事情?

from PySide import QtWidgets, QtGui

if __name__ == "__main__":
    app = QtWidgets.QApplication([])

    frame = QtWidgets.QFrame()
    frame.setFrameShape(QtWidgets.QFrame.Box)
    frame.setLineWidth(3)
    frame.setAutoFillBackground(True)
    palette = frame.palette()
    palette.setBrush(QtGui.QPalette.Background, QtGui.QColor("#ff00ff"))
    frame.setPalette(palette)

    widget = QtWidgets.QWidget()
    w_layout = QtWidgets.QVBoxLayout(widget)
    w_layout.addWidget(frame)

    widget.resize(200, 200)
    widget.show()
    app.exec_()

screenshot

© www.soinside.com 2019 - 2024. All rights reserved.