就在我调试我的程序试图破坏由 动态创建的弹出窗口Qt.createComponent(...)
时,它偶尔会发生异常。
以下是相关代码:
ApplicationWindow {
id: window
property var dialog
...
Component.onCompleted: {
var dialogComponent = Qt.createComponent("qrc:/TestPopup.qml")
dialog = dialogComponent.createObject(...)
dialog.closed.connect(function(){ [] })
dialog.open()
}
Timer {
id: timer
interval: 3000
triggeredOnStart: false
running: false
onTriggered: dialog.destroy()
}
TestPopup.qml:
Popup {
id: popup
modal: true
...
Button {
text: "close"
anchors.centerIn: parent
onClicked: popup.close()
}
}
[1]
什么时候dialog.destroy()
,极有可能发生异常。当[1]
is时timer.start()
,它偶尔会发生异常。
如何安全地销毁弹出窗口?