Qt “事件检测”;“物业已更改”;

Qt “事件检测”;“物业已更改”;,qt,qml,Qt,Qml,file1.qml中声明了一个属性var1。该属性在其他qml文件中可见,但无法检测其事件onChange file1.qml: Item { id: obj1Id property int var1: 0 ... Component.onCompleted: { var1=2 var1Changed() <<<<<<<<<<<< emit signal "changed&q

file1.qml中声明了一个属性
var1
。该属性在其他qml文件中可见,但无法检测其事件
onChange

file1.qml:

Item {
 id: obj1Id
 property int var1: 0
 ...
 Component.onCompleted: {
  var1=2
  var1Changed()             <<<<<<<<<<<< emit signal "changed"
 }
 onVar1Changed: {}          <<<<<<<<<<<< signal is detected
 ...
}
项目{
id:obj1Id
属性int var1:0
...
Component.onCompleted:{
var1=2

var1Changed()代码中有一些时刻可能会引起误解。首先找出它是有意义的

你写道:

 Component.onCompleted: {
  var1=2
  var1Changed()             <<<<<<<<<<<< emit signal "changed"
 }

请提供真实的,而不是伪代码,不要只说“错误”。给出实际的错误信息。非常感谢您的回答和链接!Peter,您好
 Component.onCompleted: {
  var1=2
  var1Changed()             <<<<<<<<<<<< emit signal "changed"
 }
 property int local_var: 0
 ...
 Component.onCompleted: {
  local_var = obj1Id.var1       <<<<<<<<<<<<<<<<< It is OK
 }
Connections {
  target: obj1Id
  onVar1Changed: console.log("obj1Id.var1 changed")
}