MessageDialog {
id: msgDialog
text: qsTr("Current data is not saved.")
informativeText: "Do you want to save your changes?"
buttons: MessageDialog.Yes | MessageDialog.No | MessageDialog.Cancel
}
function handleChanges(){
msgDialog.open()
console.log(msgDialog.result)
return msgDialog.result
}
Так как QML декларативный и возвращает значение сразу и не может ждать окончания ввода. Как рекомендация переписать код в более декларативном стиле.
MessageDialog {
id: msgDialog
text: qsTr("Current data is not saved.")
informativeText: qsTr("Do you want to save your changes?")
buttons: MessageDialog.Yes | MessageDialog.No | MessageDialog.Cancel
onYesClicked: {
}
onNoClicked: {
}
onCancelClicked: {
}
}
Более подробно тут.
Комментариев нет:
Отправить комментарий