Home / Programmazione / C - C++ / Chiudere una finestra con il tasto ESC in QML
Mattepuffo

Chiudere una finestra con il tasto ESC in QML

Chiudere una finestra con il tasto ESC in QML

Oggi vediamo come possiamo chiudere una finestra con il tasto ESC in QML.

La cosa la trovo molto comoda nelle finestre "secondarie", quelle lanciate da altre finestre "principali"; non lo userei per chiudere il programma in se (ma questo vale per qualsiasi linguaggio).

Per fare questo, dobbiamo intercettare la pressione del tasto usando Keys.onEscapePressed.

Ma attenzione a non mettere questo a livello di Window; va messo a livello di Item o Rectangle.

Una cosa del genere:

Window {
    id: clienteRoot
    width: 800
    height: 800
    minimumWidth: 800
    minimumHeight: 800
    maximumWidth: 800
    maximumHeight: 800
    title: qsTr("Cliente")
    modality: "ApplicationModal"

    Rectangle {
        focus: true
        width: parent.width
        height: parent.height

        Keys.onEscapePressed: {
            clienteRoot.close()
            event.accepted = true;
        }
    }

}

Enjoy!