Как стилизовать QWidget, когда у него нет родителя - PullRequest
1 голос
/ 05 февраля 2020

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

Я, однако, пытаясь создать несколько тем стиля (например, «lightTheme» и «darkTheme») для моего приложения, которые я также хотел бы распространить на любые элементы пользовательского интерфейса, которые могут быть созданы в любых плагинах.

Вот моя проблема, в одном из плагинов я заметил, что был создан пустой QWidget (например, QWidget *widget = new QWidget();, у которого нет родителя, и я пытаюсь выяснить, как стилизовать это окно.

Qt в этом случае обрабатывает этот вид представления как QDialog, однако в таблице стилей мне нужно использовать QWidget для стилизации этого представления (QDialog ничего не делает). Как и следовало ожидать, добавление стиля в QWidget (например, QWidget { background-color: black; } приводит к целому ряду изменений других стилей во всем моя программа, которую я не хочу.

Итак, что я ищу, так это как "оформить QWidget, у которого нет родителя".

Я был expecti ng, чтобы сделать что-то вроде:

parent > QWidget { background-color: black; }

Но я не могу понять, что поставить для «родителя», так как я знаю, что у этого виджета нет родителя.

Любая помощь будет оценена .

...