PySide не "видит" файл со стилями
Подключаю в Pyside отдельный файл qss
if __name__ == "__main__":
app = QtWidgets.QApplication(sys.argv)
window = App()
File = QtCore.QFile("styles/styles.qss")
qss = QtCore.QTextStream(File)
app.setStyleSheet(qss.readAll())
window.show()
sys.exit(app.exec_())
Содержимое qss
QListWidget, QListView, QTreeWidget, QTreeView {
outline: 0px;
}
QListWidget {
min-width: 120px;
max-width: 120px;
color: white;
background: black;
}
QListWidget::item:selected {
background: rgb(52, 52, 52);
border-left: 2px solid rgb(9, 187, 7);
}
HistoryPanel::item:hover {background: rgb(52, 52, 52);}
QStackedWidget {background: rgb(30, 30, 30);}
QLabel {color: white;}
Получаю ошибку
QIODevice::read (QFile, "styles/styles.qss"): device not open
Файл на месте,всё ок. Не пойму, что не так
Ответы (2 шт):
Автор решения: Newman
→ Ссылка
Всё,разобрался
File = open("styles/style.qss",'r')
with File:
qss = File.read()
app.setStyleSheet(qss)
Автор решения: gil9red
→ Ссылка
Для QFile нужно сначала open вызвать с обязательным указанием режима:
from PyQt5.QtCore import QFile
f = QFile("styles/styles.qss")
f.open(QFile.ReadOnly)
print(f.readAll())
Проще использовать open из питона:
with open("styles/styles.qss") as f
print(f.read())