Wie kann ich das Signal der roten 'x'-Taste in einem Dialog in qml abfangen?Wie bekomme ich Dialog rot 'x' Schliesse Knopfsignal in QML
Ich habe alle Signale von Qml Dialog versucht, und keiner scheint für die x rote Taste zu arbeiten.
Wie kann ich das Signal der roten 'x'-Taste in einem Dialog in qml abfangen?Wie bekomme ich Dialog rot 'x' Schliesse Knopfsignal in QML
Ich habe alle Signale von Qml Dialog versucht, und keiner scheint für die x rote Taste zu arbeiten.
Ich benutze Qt 5.9.1 auf Ubuntu und versuche zu erkennen, dass die Schaltfläche "x"/close in einem QML MessageDialog-Fenster angeklickt wird. Die Dokumentation zeigt in der Tat, dass OnRejected das Ereignis ist, das ausgelöst werden sollte - aber das tut es nicht! Also verwende ich onVisibleChanged
und überprüfe, ob es NICHT sichtbar ist. Das funktioniert.
Item {
signal dialogClosed()
property string dialogTitle: ""
property int dialogIcon: 0
property string dialogText: ""
property bool dialogVisible: false
MessageDialog {
id: messageDialog
title : dialogTitle
icon : dialogIcon
text : dialogText
visible : dialogVisible
modality: Qt.ApplicationModal
onAccepted: dialogClosed()
// onRejected: dialogClosed() // Doesn't work in when "x" is clicked as documented!
onVisibleChanged: { if(!this.visible) dialogClosed(); }
}
}
Haben Sie erwogen, 'onClosing' zu verwenden? https://doc-snapshots.qt.io/qt5-5.7/qml-qtquick-window-window.html#closing-signal –
es ist kein Signal für den Dialog in qml: http://doc.qt.io/qt -5/qml-qtquick-dialogs-dialog.html # akzeptiert-signal – asdfasdf
Wie wäre es mit 'onVisibleChanged' signal? – DuKes0mE