Куда деть 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;
}
/* и так далее */