集成QML和JavaScript
允许将各种表达式和方法定义为JavaScript函数。它还允许用户导入JavaScript文件并使用这些导入提供的功能。
JavaScript表达式
QML具有深层的JavaScript集成,并允许在JavaScript中定义信号处理程序和方法。QML的另一个核心功能是能够使用属性绑定指定和加强对象属性之间的关系,该属性绑定也是使用JavaScript定义的。
QML文档的以下部分可以包含JavaScript代码:
1. 属性绑定的主体
//属性绑定有两种方式,1.属性初始化 。2.js中使用Qt.binding()
import QtQuick 2.12
Rectangle {
id: colorbutton
width: 200; height: 80;
color: inputHandler.pressed ? "steelblue" : "lightsteelblue" //属性初始化进行绑定
TapHandler {
id: inputHandler
}
}
//使用Qt.binding()
import QtQuick 2.12
Rectangle {
id: colorbutton
width: 200; height: 80;
color: "red"
TapHandler {
id: inputHandler
}
Component.onCompleted: {
color = Qt.binding(function() { return inputHandler.pressed ? "steelblue" : "lightsteelblue" });
}
}
2. 信号处理程序的主体
import QtQuick 2.12
Rectangle {
id: button
width: 200; height: 80; color: "lightsteelblue"
TapHandler {
id: inputHandler