问题描述
最近在学习QML,发现在使用某些属性的时候会出现:
invalid property name component m16
的情况,如下:
在网上也找了一些方法,发现是在QtCreator 中编辑qml文件时,由于某些模块导入的信息不完整才导致了这些红色提示,但是能正常运行。
以下将两种解决办法(推荐使用第二种)。
解决办法
Solution1:
在爆红代码前加上: // @disable-check M16 即可,如下:
-
注意:如果按照这种方式,可能同样也会禁用掉真正没有的属性,导致错误
Solution2:
造成这种问题是因为QML中某些属性没有正确被正常加载,解决这个问题只需在顶部导入对应的模块,为了省事,可以直接导入对应的QML版本即可:如下我的版本是2.12,导入QtQml 2.12即可:
import QtQml 2.12
报红线部分消失,运行结果如下:
至此问题就解决了。