問題
我使用 Qt Design Studio 創建了一些 UI 組件和螢屏(.ui.qml 格式),但是無論我做什么,每當我嘗試在 PyQt5 中運行它時,我總是遇到以下錯誤:
module "QtQuick.Studio.Components" is not installed
.ui.qml 檔案有一個匯入
import QtQuick.Studio.Components 1.0
我在網上到處找,找不到關于如何解決這個問題的太多內容。
題
克服這個問題的最佳方法是什么?我一直在 Windows 上使用它,但我主要希望在 raspberry pi 上使用代碼,是否需要安裝額外的依賴項?
Python代碼
import os
from pathlib import Path
import sys
from PyQt5.QtCore import QCoreApplication, Qt, QUrl
from PyQt5.QtGui import QGuiApplication
from PyQt5.QtQml import QQmlApplicationEngine
if __name__ == '__main__':
CURRENT_DIRECTORY = Path(__file__).resolve().parent
app = QGuiApplication(sys.argv)
engine = QQmlApplicationEngine()
engine.addImportPath(os.fspath(CURRENT_DIRECTORY.parents[0]))
url = QUrl.fromLocalFile(os.fspath(CURRENT_DIRECTORY / "Screen01.ui.qml"))
def handle_object_created(obj, obj_url):
if obj is None and url == obj_url:
print("exit")
QCoreApplication.exit(-1)
engine.objectCreated.connect(
handle_object_created, Qt.ConnectionType.QueuedConnection
)
engine.load(url)
if not engine.rootObjects():
sys.exit(-1)
sys.exit(app.exec())
uj5u.com熱心網友回復:
視窗
我曾經print(engine.importPathList())看到我的匯入路徑。這促使我去C:/Users/USER/AppData/Local/Programs/Python/Python38/lib/site-packages/PyQt5/Qt5/qml發現 QtQuick 存在但沒有 Studio 檔案夾。
由于 Qt Design Studio 可以在沒有匯入問題的情況下運行我的代碼,我知道它會有一個 Studio 檔案夾。因此,我進入C:\Program Files\Qt\qtdesignstudio-2.2.0-community\qt5_design_studio_reduced_version\qml\QtQuick并將 Studio 檔案夾從那里復制到上面的 PyQt5 路徑上。
這解決了這個問題。
Linux
我還沒有在 Linux 上嘗試過。
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/359397.html
