我正在尝试使用qt 5.15.1运行this示例
当我声明QML_IMPORT_NAME时,该变量在qt中似乎是未知的(参见下面屏幕截图上的字体颜色),并且当我在我的qml文件中导入"com.mycompany.messaging“时,我得到一个错误"QML module not found”。
编辑:经过一些调查,代码可以正常运行,但我在Qt Creator中遇到了这个错误。如果我想用gui编辑器编辑qml文件,我需要在文本模式下注释掉所有与后端相关的代码,否则无法打开该文件。
诀窍是什么?
发布于 2020-10-02 09:10:25
对于this,我假设我应该添加
CONFIG += qmltypes
转换为.pro文件。但是,由于我切换到cmake,没有找到等效的方法,所以我使用了旧的方法:
qmlRegisterType<Person>("People", 1,0, "Person");
在main.cpp中(参见上面的链接)。
发布于 2021-08-13 04:05:37
这是一个尚未修复的已知错误(https://bugreports.qt.io/browse/QTCREATORBUG-24987)。
错误的原因是QtCreator需要在应用程序二进制文件旁边生成.qmltypes和metatypes.json文件。
解决此问题的方法是将以下内容添加到pro文件中:
CONFIG(debug, debug|release) {
EXE_DIR = $${OUT_PWD}/debug
} else {
EXE_DIR = $${OUT_PWD}/release
}
CONFIG += file_copies
COPIES += qmltypes metatypes
qmltypes.files = $$files($${OUT_PWD}/$${TARGET}.qmltypes)
qmltypes.path = $${EXE_DIR}
metatypes.files = $$files($${OUT_PWD}/$${TARGET}_metatypes.json)
metatypes.path = $${EXE_DIR}
https://stackoverflow.com/questions/64099737
复制