Получить и установить цвет фона QFrame или QGroupBox только с палитрой - PullRequest
0 голосов
/ 05 марта 2020

Как я могу получить и установить цвет фона QFrame и QGroupBox с помощью палитр? Из того, что я могу сказать, я могу влиять на них с QPalette.ColorRole.Background, но это также влияет на цвет окна, поэтому вместо получения более светлого оттенка весь интерфейс устанавливается как solid. Есть ли способ воздействовать на них по отдельности?

Я знаю, что могу использовать таблицы стилей, но в этом случае я хочу добиться этого только с помощью палитр, если это возможно.

1 Ответ

0 голосов
/ 06 марта 2020

Как то так?

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

...