qt - CLion 中的 Qt5 QML - QQmlApplicationEngine 无法加载组件
问题描述
我在尝试让 Qt .qml 环境在 CLion 中工作时遇到错误,因为我真的不想使用 QtCreator:
QQmlApplicationEngine failed to load component
qrc:/main.qml:2:1: module "QtQuick.Window" is not installed
qrc:/main.qml:1:1: module "QtQuick" is not installed
qrc:/main.qml:2:1: module "QtQuick.Window" is not installed
qrc:/main.qml:1:1: module "QtQuick" is not installed
不知道发生了什么,做了一个巨大的研究,我还没有发现任何东西。我尝试运行的 QML 文件是:
import QtQuick 2.12
import QtQuick.Window 2.12
Window {
width: 640
height: 480
visible: true
title: qsTr("Hello World")
}
资源.qrc:
<RCC>
<qresource>
<file>main.qml</file>
</qresource>
</RCC>
CMakeLists.txt: https ://gist.github.com/zmatez/52d7a552d10d82beed8d86783b1322eb
CMake 选项:
-DCMAKE_PREFIX_PATH="E:/ProgramFiles/qt/5.15.2/mingw81_64/lib/cmake/Qt5"
main.cpp:https ://gist.github.com/zmatez/52d7a552d10d82beed8d86783b1322eb
我将它与 QtCreator 的自动生成代码进行比较,我的几乎与创建者的代码相同。此外,在我当前的配置中,QtWidgets 应用程序在 CLion 中运行良好。
谢谢你的帮助
解决方案
我遇到了同样的问题。感谢@folibis上面的评论,我的问题得到了解决。按照他的建议,我只需要添加一个环境变量QML2_IMPORT_PATH
并将其值设置为%QTDIR%\qml
.
就我而言,它不是 CLion。这是一个使用 Qt Widgets for UI 的现有项目。它将改为使用 QML。在识别 QtQuick 模块时给我带来了各种各样的麻烦。我尝试了很多东西,但没有任何效果,但这个技巧就像一个魅力。
推荐阅读
- reactjs - REact onclick 弹出新窗口
- python - UnboundLocalError:分配前引用的局部变量“参与者”
- javascript - 选中复选框时如何将元素添加到数组
- flutter - firebase 监听函数内的代码不会立即执行
- javascript - LinkedIn api - 如何检索更新参与数据?
- java - Kotlin 中的 HMAC 签名
- angular - 角度规范测试无法读取未定义的属性过滤器
- javascript - OpenMCT - 使用自定义视图创建插件
- python - Python - Zeep 错误 - 无法处理消息
- arm-template - 如何在 ARM 模板中为 COSMOS DB 配置首选区域列表?