0

我有一个带有值参数的项目。我想知道如何捕捉它的变化事件?

假设有一个 RectComp.qml:

Item{
    property alias currentX: rect.x
       Rectangle {
           id: rect
           x: 617
           y: 450
       }
}

处理currentX来自创建其实例的应用程序的更改 说明如何

       Rectangle {
           id: host
           x: 617
           y: 450
           RectComp{ id: MyRC}
           OnMyRCcurrentXChange(int){log("hello!")}
       }
4

1 回答 1

4

根据 Qt 文档“向项目添加属性会自动向项目添加值更改信号处理程序”。

因此您的代码将更改为以下

 Rectangle {
       id: host
       x: 617
       y: 450
       RectComp{ id: MyRC
         onCurrentXChanged:{
             console.log("Hello");
         }
       }
   }

或者您可以使用连接元素

 Connections {
     target: MyRC
     onCurrentXChanged: {
        console.log("Hello");
     }
 }
于 2012-04-25T11:32:46.727 回答