gpt4 book ai didi

javascript - QML:如何在自定义组件中触发onChanged?

转载 作者:行者123 更新时间:2023-12-04 14:31:42 25 4
gpt4 key购买 nike

假设我们有以下自定义 QML 组件。

MyComponent.qml

//Contents for MyComponent.qml
import QtQuick 2.0

QtObject{
property real myProperty
...
}


Test.qml

import QtQuick 2.0

Item {
property var myComponent: MyComponent
onMyComponentChanged: console.log("MyComponent changed!");
}


当更改 myComponent 中的任何属性时,我希望触发 onMyComponentChanged()。实现此目标的最佳方法是什么?

最佳答案

在 QML 中,大多数属性都有 onChanged 事件。例如;

MyComponent {
property string name: "Super"
}

on + Property + Changed 信号将被发射(属性的第一个字母将大写)- 导致 onNameChanged


Item {
id: mainItem
property MyComponent myCustomComponent: MyComponent {
onNameChanged: mainItem.handleMyComponentChange()
}
function handleMyComponentChange() {
-----
}

myCustomComponent.name="Duper" // triggers handleMyComponentChange()
}

关于javascript - QML:如何在自定义组件中触发onChanged?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32013618/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com