Мой QRC следующий:
Код: Выделить всё
qml/view/ProductionPane.qml
qml/view/SideBar.qml
qml/view/TestingView.qml
qml/view/LogView.qml
qml/view/StatsView.qml
qml/comp/MyButton.qml
assets/img/logo.png
main.qml
Код: Выделить всё
main.qml
main.py
rc_resources.py
qml/view/LogView.qml
qml/view/ProductionPane.qml
qml/view/SideBar.qml
qml/view/StatsView.qml
qml/view/TestingView.qml
qml/comp/MyButton.qml
assets/img/logo.png
Код: Выделить всё
import sys
from pathlib import Path
from PySide6.QtGui import QGuiApplication
from PySide6.QtQml import QQmlApplicationEngine
from PySide6.QtCore import QUrl
import rc_resources
if __name__ == "__main__":
app = QGuiApplication(sys.argv)
engine = QQmlApplicationEngine()
engine.addImportPath("qrc:/view")
engine.load(QUrl("qrc:/main.qml"))
if not engine.rootObjects():
sys.exit(-1)
sys.exit(app.exec())
Код: Выделить всё
import QtQuick
import QtQuick.Window
import QtQuick.Controls
import "qrc:/qml/ProductionPane"
import "qml/view"
Window {
id: mainWindow
minimumWidth: 1024
minimumHeight: 768
width: 1920
height: 1080
title: qsTr("FooBar")
ProductionPane {
id: productionPane
anchors.fill: parent
}
SideBar {
onViewChanged: productionPane.loaderSource = view
}
}
Я проверил (в main.py после создания экземпляра объекта QQmlApplicationEngine), что QFileInfo(":/qml/ProductionPane").exists() возвращает true, поэтому я знаю, что движок может найти файл QML в файле QRC, но его импорт не работает, так как при его запуске я получаю следующую ошибку:
Код: Выделить всё
qrc:/main.qml:4:1: "qrc:/qml/ProductionPane": no such directory
Код: Выделить всё
":/qml/ProductionPane"Есть ли у кого-нибудь предложения?
Спасибо!< /п>
Подробнее здесь: https://stackoverflow.com/questions/785 ... ource-file