QML基于文件的自定义组件
概念:QML可以由基本元素组合成一个复杂的元素,这种组合后的复杂元素就被称为组件。
作用:组件可以重用,减少代码的冗余。
建立步骤:
1、在一个“.qml”文件中建立组件,“.qml”文件名为组件的名字。
2、在使用组件的“.qml”文件中引用组件,形式:“import 组件名”
3、通过组件名字使用自定义的组件。
实例:QT有多个页面,每个都需要显示当前的日期和时间,通常是在每一个“.qml”文件中,都写日期和时间显示的代码,而这部分代码是完全一样的,如果将日期和时间显示做成组件,每个页面只是调用这个组件就可以了,这样代码看上去会很清晰、易懂。
源代码:
Tclock.qml //自定义组件,显示日期和时间
import QtQuick 2.0
Item
{
width:200
height:30
Timer //启动一个time
{
interval: 500; //每500毫秒调用一次
running: true;
repeat: true
onTriggered: time.text = Qt.formatDateTime(new Date(), "yy-MM-dd hh:mm:ss")
}
Text
{
id: time
color: "white"
font.pixelSize: 25
}
}
说明:
1、作为组件的“.qml”文件名首字母必须为大写,本文件为“Tclock.qml”。
2、在使用组件的“.qml”文件中使用Tclock{ … }这种形式来引用组件。
setting.qml //使用自定义组件的文件
import QtQuick 2.0
import "../com/ui" //引用组件,路径为自定义组件保存的路径
{
Tclock{ //调用自定义组件,会显示日期和时间
}
}
说明:
1、“Tclock{...}”内部可以追加其他属性,例如:width、height、x、y,或者“onClicked”事件等等。
2、组件定义的时候要灵活使用,可以设计出不同的风格和形式。