Получить стандартную палитру GUI в PyQt5 - PullRequest
0 голосов
/ 30 января 2020

В моем приложении есть кнопка, позволяющая переключиться на темную тему. Но если пользователь хочет вернуться к исходной теме.

Я знаю, что в C ++ это можно сделать как qApp->setPalette(this->style()->standardPalette());.

Как я могу сделать это в python?

1 Ответ

0 голосов
/ 30 января 2020

qApp - это экземпляр приложения, доступ к которому обычно осуществляется с помощью QtWidgets.QApplication.instance() или QtWidgets.qApp (обратите внимание, что они указатели на экземпляр, но они будут возвращать разные python объекты, см. qApp против QApplication.instance () для получения дополнительной информации).

QtWidgets.QApplication.instance().setPalette(self.style().standardPalette())

Имейте в виду, что это только восстановит палитру, но в некоторых системах это нехорошо делать (из standardPalette() документов :

Обратите внимание, что в системах, поддерживающих системные цвета, стандартная палитра стиля не используется. В частности, Windows Vista и Стили Ma c не используют стандартную палитру, но используют собственные движки тем. С этими стилями не следует устанавливать палитру с помощью QApplication :: setPalette () .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...