本文主要是介绍QML | 方法(函数)特性、附加属性和附加信号处理器,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
01 方法特性
对象类型的方法就是一个函数,可以执行某些处理或者触发其他事件。我们可以将方法关联到信号上,这样在发射该信号时就会自动调用该方法。
在C++中,可以使用Q_INVOKABLE宏或者Q_SLOT宏进行注册的方式定义方法;另外,也可以在QML文档的对象声明里使用下面的语法添加一个自定义方法:
function<functionName>([<parameterName[, …]]) (<body>)
QML的方法可以用于定义相对独立的可重用的JavaScript代码块。这些方法可以在内部调用,也可以被外部对象调用。
与信号不同,方法的参数类型不需要明确指定,因为默认情况下这些参数都是var类型的。与信号类似,同一作用域中不能有两个同名的方法。但是,新的方法可以重用已有方法的名字。这意味着原来的方法会被新的方法隐藏,变得不可访问。
下面的代码中,Rectangle定义了一个calculateHeight()方法,用于计算height的数值。(项目源码路径:myfunction。)
import QtQuick 2.14
import QtQuick.Window 2.14
import QtQuick.Controls 2.12
Window {
visible: true
width: 640
height: 480
Rectangle {
这篇关于QML | 方法(函数)特性、附加属性和附加信号处理器的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!