Куда деть css стили для PyQt приложения?

Вопрос теоретического характера. Есть приложение на PyQt5 с огромным количеством стилей для всего, плюс ещё и разные темы можно переключать.

Куда можно их убрать из кода? Есть мысль парсить с json, но наверняка есть варианты более подходящие и удобные, ибо в json их будет неудобно редактировать.


Ответы (1 шт):

Автор решения: S. Nick

Как вариант

main.py

...

if __name__ == "__main__":
    import sys
    app = QtWidgets.QApplication(sys.argv)

# +++ vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv    
    file = QtCore.QFile("dark.qss")                               # !!! dark.qss
    file.open(QtCore.QFile.ReadOnly | QtCore.QFile.Text)
    stream = QtCore.QTextStream(file)
    app.setStyleSheet(stream.readAll())
# +++ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

    w = Main()
    w.show()
    sys.exit(app.exec_())

dark.qss

QToolTip {
    border: 0.1ex solid #eff0f1;
    background-color: #31363b;
    alternate-background-color: #3b4045;
    color: #eff0f1;
    padding: 0.5ex;
    opacity: 200;
}

QWidget {
    color: #eff0f1;
    background-color: #31363b;
    selection-background-color:#3daee9;
    selection-color: #eff0f1;
    background-clip: border;
    border-image: none;
    border: 0px transparent black;
    outline: 0;
}
QWidget:item:hover {
    background-color: #3daee9;
    color: #eff0f1;
}
/* и так далее */
→ Ссылка