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

Qt 6.4.2中QML单例置于子目录时属性未定义问题求助

Qt 6.4.2 QML单例子目录属性未定义问题解决
  • 问题根因:set_source_files_properties中指定的单例文件路径错误。你的代码里写的是Style.qml,但实际文件位于qml/Style.qml,CMake无法正确识别到该文件,导致单例注册不完整,属性出现未定义情况。

  • 修复步骤:

    1. 修正set_source_files_properties的文件路径,使用相对项目根目录的qml/Style.qml
    2. 确保QML中模块导入和单例引用方式无误

修复后的CMake代码:

set_source_files_properties(qml/Style.qml PROPERTIES
  QT_QML_SINGLETON_TYPE TRUE
)

qt_add_qml_module(untitled
    URI untitled
    VERSION 1.0
    QML_FILES
      qml/main.qml
      qml/Style.qml
)
  • 额外验证点:
    • 确认Style.qml顶部的pragma Singleton声明无拼写错误
    • 在main.qml中导入import untitled 1.0后,直接用Style.xxx引用属性,无需实例化
    • 清理CMake缓存后重新构建,避免旧配置干扰

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.29 04:14:52