Pyqt: Как изменить цвет заголовка QGroupBox?

У меня есть QGroupBox, который objectName является "of_esq". Как мне изменить цвет его заголовка?

Это что-то вроде: self.of_esq.setStyleSheet("of_esq.title {color: green}")?

2 ответа

Если вы устанавливаете таблицу стилей непосредственно на of_esq виджет, вы могли бы просто сделать (при условии, что у него нет ребенка QGroupBoxes

self.of_esq.setStyleSheet('QGroupBox  {color: green;}')

Вы также можете установить таблицу стилей на of_esq's родитель и ссылка на виджет по имени, используя селектор идентификатора css (#)

self.setStyleSheet('#of_esq {color: green;}')

Поздно на вечеринку, но вот как я это сделал:

Сначала я создал свой пользовательский интерфейс в Qt Designer, который содержал QGroupBox. Я потратил слишком много времени, пытаясь найти свойство цвета в Qt Designer, которое ТОЛЬКО повлияло бы на заголовок QGroupBox. Наконец, я прибег к изменению преобразованного кода пользовательского интерфейса (обращая внимание на "ПРЕДУПРЕЖДЕНИЕ! Все изменения, сделанные в этом файле, будут потеряны!", Предоставленные утилитой преобразования)

Затем я нашел код, в котором настраивалась таблица стилей в виджете groupBox:

self.groupBox.setStyleSheet("")

Затем я изменил этот код, "углубляясь" в заголовок, чтобы установить цвет:

self.groupBox.setStyleSheet('QGroupBox:title {color: rgb(1, 130, 153);}')

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

Чтобы проверить, я добавил три переключателя в свой макет (в QGroupBox). После сохранения я восстановил код пользовательского интерфейса Python. Затем я изменил только одну из переключателей:

self.radioButton_2.setStyleSheet('QRadioButton {color: rgb(1, 130, 153);}')

Это ТОЛЬКО изменило цвет текста виджета radioButton_2.

Гораздо удобнее иметь свойства цвета виджета, доступные в Qt Designer, но это, кажется, жизнеспособный обходной путь. Просто помните, что восстановление кода пользовательского интерфейса после внесения изменений в Qt Designer перезапишет ваш измененный код.

Другие вопросы по тегам