You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Qt运行时QQmlApplicationEngine加载main.qml报Network Error如何解决

问题排查解决步骤

1. 优先修复路径加载逻辑(90%概率为该问题)

你遇到的Network error伴随路径里出现%5c的报错,核心原因是QQmlApplicationEngine.load()方法优先识别输入参数为URL格式,Windows路径里的反斜杠\会被URL编码为%5c,导致引擎无法正确识别本地文件路径。

你可以修改代码里的QML文件加载逻辑,两种修改方案二选一即可:

方案1:使用Path自带的URI转换方法

if __name__ == "__main__":
    app = QGuiApplication(sys.argv)
    engine = QQmlApplicationEngine()
    # 修改开始
    qml_path = Path(__file__).resolve().parent / "main.qml"
    engine.load(qml_path.as_uri())
    # 修改结束
    if not engine.rootObjects():
        sys.exit(-1)
    sys.exit(app.exec_())

方案2:使用Qt自带的本地路径转URL方法

# 先导入QUrl模块
from PySide6.QtCore import QUrl
from PySide6.QtGui import QGuiApplication
from PySide6.QtQml import QQmlApplicationEngine

if __name__ == "__main__":
    app = QGuiApplication(sys.argv)
    engine = QQmlApplicationEngine()
    # 修改开始
    qml_path = os.fspath(Path(__file__).resolve().parent / "main.qml")
    engine.load(QUrl.fromLocalFile(qml_path))
    # 修改结束
    if not engine.rootObjects():
        sys.exit(-1)
    sys.exit(app.exec_())

2. 检查运行配置的工作目录

如果修改路径逻辑后还是报错,需要确认Qt Creator的运行工作目录是否正确:

  • 点击Qt Creator左侧「项目」标签,选择当前使用的构建套件,点击「运行」选项
  • 检查「工作目录」配置,确保路径和你的main.py、main.qml所在的文件夹路径完全一致,不对就手动修改为对应路径。

3. 排查项目路径特殊字符问题

如果你的项目存储路径包含中文、空格、&/#这类特殊符号,QML引擎也会出现路径解析失败的问题,你可以把整个项目文件夹移动到纯英文、无特殊字符的路径下(例如C:\qt_test\)再测试运行。

4. 检查Qt组件完整性

打开Qt MaintenanceTool,确认你当前使用的Qt版本对应的组件中,「Qt Quick」「Qt Quick Controls 2」相关模块都已安装,没有遗漏。

内容的提问来源于stack exchange,提问作者Seifu

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.26 05:45:10