我有一个自定义对话框,如下所示:
CustomDialog.qml
Dialog{
Component.onCompleted: {
console.log("******* Loading Some Data from WebServcie ******")
}
}
现在我在 main.qml 文件中使用此自定义对话框:
ApplicationWindow {
id: mainWindow
Button{
id:btn
onClicked: {
cd.open();
}
}
CustomDialog{
id:cd
}
}
当我运行应用程序时,Component.onCompleted
将会执行,但我希望在单击Button
之后执行此事件,并且在对话框将打开后。我该怎么做?
答案 0 :(得分:1)
如果我理解正确,您希望在屏幕上显示Dialog
时执行某些操作。
您可以通过检查visible
属性是否已更改来执行此操作:
<强> CustomDialog.qml 强>
Dialog {
onVisibleChanged: {
if (visible) {
console.log("I'm visible now !")
}
}
}
请注意,在实例化组件时会触发Component.onCompleted
,而不是在向用户显示组件时触发。{/ p>