PyQt5 - Python | QApplication.setStyle не работает
Я пытаюсь установить собственный стиль для моего приложения PyQt5, используя setStyle()
метод, но он не работает.
Я также не совсем уверен, где это должно быть помещено.
В основном я пытался сделать:
if __name__ == '__main__':
QApplication.setStyle("mac") #here
app = QApplication(sys.argv)
splash_pix = QPixmap('../resource/logo.png')
start = time.time()
splash = QSplashScreen(splash_pix, Qt.WindowStaysOnTopHint)
splash.show()
while time.time() - start < 1:
time.sleep(0.003)
app.processEvents()
ex = Fy360()
splash.finish(ex)
sys.exit(app.exec_())
Изменить: после импорта from PyQt5.QtWidgets import QStyleFactory
и печать QStyleFactory.keys()
Я получил вывод как:
[u'Windows', u'Fusion']
почему есть только эти варианты?
Что здесь не так?
1 ответ
Решение
Некоторые стили зависят от ОС, другие нет, например, стиль Mac предназначен только для Mac OS или, например, Fusion совместим с несколькими ОС.
Некоторые стили (например, gtk) можно настроить следующим образом:
Основываясь на обсуждении:
- устанавливать
qt5-styleplugins
а такжеqt5ct
- Установить переменную окружения в /etc/environment
QT_QPA_PLATFORMTHEME=qt5ct
- Перезагрузите систему
- Начните
qt5ct
и выберитеgtk2