我在创建Qt/QML
topic的Toast
时发现了很棒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
消失?
答案 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);