QML文件命名规范
QML文件命名规范并不是必须首字母大写,而是由英文字母开头,文件名由字母和下划线组成。 如果此qml文件是被当做Component(控件,类)来使用,首字母必须大写,确保与其他类型的文件名相区分。 在其他情况下,文件名则随意。 如
// btn.qml
import QtQuick 2.0
Item {
width: 100
height: 100
color: "red"
}
就不可以作为类被别的文件使用; 而
// Btn.qml
import QtQuick 2.0
Item {
width: 100
height: 100
color: "red"
}
就可以被导入到别的文件使用。
判断一个QML文件是控件或者类
在QML中,如果一个文件被声明为一个QQuickComponent
实例,那么这个文件就是一个Component文件。通常情况下,这样的文件会包含一个Item
元素,并且这个Item
元素会包含一些子元素,这些子元素定义了组件的属性和行为。
如下
import QtQuick 2.0
Item {
width: 100
height: 100
color: "red"
}
Item
元素定义了一个简单的QML组件,它有一个宽度、高度和颜色属性。这个文件可以被其他QML文件引用,并且可以在运行时动态地创建和实例化。
要判断一个QML文件是否是Component控件,可以检查以下几点:
- 文件是否包含
QQuickComponent
实例。 - 文件是否包含一个
Item
元素,并且这个Item
元素是否有子元素。 - 文件的命名是否符合Component的命名规范,通常是以大写字母开头。
Component和QML区别
Component是Qt封装好的、只暴露必要接口的QML类型,能够重复利用。 一个QML组件就像一个黑盒子,通过属性、信号、函数和外部世界交互。 Component可以定义在独立的QML文件中,也能够嵌入到其余的QML文件中来定义。
而QML是一种描述性的脚本语言,文件格式以.qml结尾。语法格式非常像CSS,但又支持javascript形式的编程控制。
总结来说,Component是QML中的一个重要概念,它代表了一个可重复使用的QML组件,而QML则是一种用于描述用户界面的标记语言。
当导入的QML文件和当前QML文件处于同一个目录时,不用进行import导入
如果QML文件和要导入的QML文件位于同一个目录中,则不需要使用import
语句进行导入。
在这种情况下,QML引擎会自动加载同一目录下的QML文件。
但是,如果要在多个目录中共享QML文件,或者使用其他模块中的QML文件,那么需要使用import
语句来明确指定要加载的模块和文件路径。