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
Другие вопросы по тегам