Toast消息消失后​​退出应用程序

时间:2016-12-10 10:13:11

标签: qml

我在创建Qt/QML topicToast时发现了很棒Android Toast。我试图在Qt/QML消失之后升级它,一些信号被激活 - 我想退出简单的ToastManager应用。这是import QtQuick 2.7 Column { id: root z: Infinity spacing: 5 anchors.centerIn: parent signal signalQuitApp; property var toastComponent function show(text, duration) { var toast=toastComponent.createObject(root); toast.selfDestroying=true; toast.show(text, duration); signalQuitApp(); } // show Component.onCompleted: { toastComponent=Qt.createComponent("Toast.qml"); } // Component.onCompleted } // Column

QML

结果是,如果我点击Toast应用程序中的某个按钮,它会在Toast动画结束之前退出。如何发出信号 AFTER Object消失?

1 个答案:

答案 0 :(得分:1)

假设您指的是@ ayberk-Özgür的答案,您需要修改Toast.qml以在完成后发出信号。

id: root
signal toastFinished()

// ...

    onRunningChanged:{
        if (!running) {
            root.toastFinished();

            if (selftDestroying)
                root.destroy();
        }
    }

在您展示吐司之前,您将连接到该信号

toast.toastFinished.connect(Qt.quit);
toast.show(text, duration);