2012-04-25 3 views
0

У меня есть элемент со значением param. Интересно, как поймать событие перемен?QML: как запустить событие по элементу param chenge (и передать ему его значение)?

Say имея 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

В соответствии с Qt документации «автоматически Добавление свойства к элементу добавляет значение обработчику сигнала к элементу ».

Так что ваш код будет изменения в следующие

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

Или вы можете использовать элемент Connection

Connections { 
    target: MyRC 
    onCurrentXChanged: { 
     console.log("Hello"); 
    } 
}