Frage

Gibt es eine Möglichkeit Benutzer aufzufordern, das GUI-Programm geschrieben in Python zu beenden?

So etwas wie „Sind Sie sicher, dass Sie das Programm beenden?“

Ich bin mit PyQt.

War es hilfreich?

Lösung

Ja. Sie müssen die Standard schließen Verhalten der QWidget darstellt Ihre Anwendung außer Kraft zu setzen, so dass sie sofort das Ereignis nicht akzeptieren. Die Grundstruktur Sie wollen, ist so etwas wie folgt aus:

def closeEvent(self, event):

    quit_msg = "Are you sure you want to exit the program?"
    reply = QtGui.QMessageBox.question(self, 'Message', 
                     quit_msg, QtGui.QMessageBox.Yes, QtGui.QMessageBox.No)

    if reply == QtGui.QMessageBox.Yes:
        event.accept()
    else:
        event.ignore()

Die PyQt Tutorial erwähnt von hat las3rjock eine nette Diskussion dieses. Auch die Links Check-out von der PyQt bei Python.org, insbesondere die offizielle Referenz , mehr über die Ereignisse zu erfahren, und wie sie zu behandeln.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top