如何为.ui.qml中定义的对象使用.qml中的附加属性

  • 本文关键字:qml 属性 定义 ui 对象 qt qml
  • 更新时间 :
  • 英文 :


我在我的Home.ui.qml文件中定义了以下内容:

TextMetrics {
id: metrics
font: label.font
text: label.text
}

然后,在相应的Home中。qml文件,我尝试:

metrics {
Component.onCompleted: {
console.log( "hello" );
}
}

我然后得到错误:附加属性不能在这里使用

当然,如果我尝试:

TextMetrics {
id: metrics
font: label.font
text: label.text
Component.onCompleted: {
console.log( "hello" );
}
}

我得到的错误是:

  1. JavaScript块不支持Qt快速UI表单。(M223)
  2. 函数不支持Qt快速UI表单。(M222)

同时保持.qml和.ui之间的良好分割。qml,我如何定义一个组件。onCompleted for metrics?

如果它重要,我使用Qt 5.12.10。

答案是在Home中使用Connections。qml文件:

Connections {
target: metrics
Component.onCompleted: {
console.log( "hello" );
}
}

最新更新