Ich habe eine sehr einfache Anwendung, die eine easygui entrybox() präsentiert und diese in einer Endlosschleife weiterführt, wenn sie Benutzereingaben erhält.
Ich kann das Programm mit der Schaltfläche "Abbrechen" beenden, da diese keinen Wert zurückgibt, aber ich möchte auch in der Lage sein, die Standardschaltfläche "Schließen" zu verwenden, um das Programm zu beenden. (z. B. oben rechts in einem Windows-Fenster, oben links in einem Mac-Fenster) Diese Schaltfläche bewirkt derzeit nichts.
Bei einem Blick auf das easygui-Modul fand ich diese Zeile:
root.protocol('WM_DELETE_WINDOW', denyWindowManagerClose )
Dies scheint der Grund dafür zu sein. Ich bin kein TKinter-Experte, aber ich könnte wahrscheinlich herausfinden, wie man diesen Handler ändern, um die Art und Weise zu handeln, die ich will.
Jedoch, wie ich lieber nicht über mit dem easygui-Modul durcheinander, gibt es eine Möglichkeit, dieses Verhalten von meinem Hauptskript zu überschreiben, und haben die Schließen-Schaltfläche entweder das Programm direkt schließen oder keine zurück?