Если я использую команду PopupUtils.open()
в свойстве Component.onCompleted
любого элемента, он ничего не делает, например:
Rectangle {
id: rect
height: 600
width: height
Component.onCompleted: {
PopupUtils.open(dialog, rect)
}
Component {
id: dialog
Dialog {
id: dialogue
title: "Save file"
text: "Are you sure that you want to save this file?"
Button {
text: "cancel"
onClicked: PopupUtils.close(dialogue)
}
Button {
text: "overwrite previous version"
color: "orange"
onClicked: PopupUtils.close(dialogue)
}
Button {
text: "save a copy"
color: "orange"
onClicked: PopupUtils.close(dialogue)
}
}
}
, как правильно отобразить всплывающее диалоговое окно сразу после запуска приложения? ?
PopupUtils.Open (dialog, id) предназначен для работы кнопок.
Следовательно, добавьте кнопку со свойством visible как false и передайте id этой скрытой кнопки вместо «id» выше (без цитаты, конечно).
Источник:
У меня была такая же проблема :)
blockquote>
По какой-то причине он работает с использованием Timer
, то есть:
Rectangle {
id: rect
height: 600
width: height
Component.onCompleted: {
start_timer.start()
}
Timer {
id: start_timer
interval: 200;
onTriggered: PopupUtils.open(dialog, rect)
}
Component {
id: dialog
Dialog {
id: dialogue
title: "Save file"
text: "Are you sure that you want to save this file?"
Button {
text: "cancel"
onClicked: PopupUtils.close(dialogue)
}
Button {
text: "overwrite previous version"
color: "orange"
onClicked: PopupUtils.close(dialogue)
}
Button {
text: "save a copy"
color: "orange"
onClicked: PopupUtils.close(dialogue)
}
}
}