アプリの起動後にポップアップダイアログを表示するにはどうすればよいですか?

アプリの起動後にポップアップダイアログを表示するにはどうすればよいですか?

任意のアイテムのプロパティ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)
             }
         }
    }

アプリの起動直後にポップアップダイアログを適切に表示するにはどうすればよいですか?

答え1

PopupUtils.Open(dialog, id) はボタンに対して機能します。

したがって、visible プロパティを false にしてボタンを追加し、上記の「id」の代わりにその非表示ボタンの ID を渡します (もちろん引用符なし)。

ソース:

同じ問題がありました:)

答え2

何らかの理由で、 を使用すると動作します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)
             }
         }
    }

関連情報