问题描述:
QML的项目中带中文,每次打开项目都在问题栏显示【预计符号】的红色警告,还有一种是【Unknown Component M300】的警告,代码能正常编译和运行。像我这样对代码追求优雅的强迫症患者看着很不爽,查了很多网上的方法尝试也没有得到解决。
原因查找:
阅读了大佬的一些解决方法,总结如下:
1.工具–>QML/JS–>重置代码模型。–(无效)
2.清理项目输出和重置项目配置。–(无效)
3.import “…/styles”【import正确的路径】。主要是针对编译时找不到Component的时候有效–(对于我的可编译运行但是警告的情况无效)。
4.QML_IMPORT_PATH设置。–(无效)
主要参考:
1.https://forum.qt.io/topic/92025/unknown-component-m300-for-custom-qml-class/3
2.https://stackoverflow.com/questions/38067518/qml-error-unknown-component-m300-but-the-code-works
3.https://www.twblogs.net/a/5db2e1bfbd9eee310da00944
4.https://www.codeleading.com/article/65243551037/
5.https://blog.csdn.net/baidu_41443027/article/details/118729210
我思考了我的问题和对应网上资料。
于是引发思考–》我的问题特征如下:
1.我的代码能编译和运行。
2.我想处理掉的是警告,并没有错误。
3.问题仅存于编辑器。
4.大概率是编码问题。
解决方案:
1.工具–>选项–>文本编辑器–>行为–>文件编码–>设置【默认编码–>UTF-8】【UTF-8 BOM–>如果编码是UTF-8则添加】。
2.双击 --【预计符号】的红色警告打开qml文档–>ctrl+A(选中所有) -->ctrl+I(格式化选中代码) -->ctrl+S(保存)
保存之后的文件格式为带BOM的UTF-8编码文件,这样就不会有【预计符号】的红色警告了,然后引用保存为此编码的组件的地方【Unknown Component M300】的警告也会消失。
希望大家的代码优美舒适,再无警告,加油_哈。