Python: Buttons: Warum werden die Befehle immer sofort mit ausgeführt?
Hallo! Ich teste ein wenig im grafischen Programmieren herum. Als ich mit Buttons und Menübars herumgespielt habe, fiel mir auf, dass Befehle/Commands immer sofort ausgeführt wurden. Das hat manchmal zu Fehlermedlungen oder Fehlfunktionen geführt.
Warum ist es so und kann man es unterbinden?
Bsp.:
Wenn ich dieses Programm ausführe, dann wird in der Kommandozeile drei Mal "Hallo Welt!" ausgegeben, aber nicht dann, wenn ich auf einen Knopf drücke. Hängt es damit zusammen, dass das eine in der Kommandozeile und das andere im Fenster stattfindet?
1 Antwort
Von gutefrage auf Grund seines Wissens auf einem Fachgebiet ausgezeichneter Nutzer
Python
- Bitte keine unscharfen Bildschirmfotos mit dem Handy. Screenshot ist besser, noch viel besser den Sourcecode hier reinkopieren.
- Wenn du a() schreibst, wird die Funktion in diesem Moment aufgerufen. Also genau dann, wann .add_command() ausgeführt wird. Was du willst ist eine Funktion zu übergeben, nicht ihren Rückgabewert. Also muss es heißen:
erstesmenu.add_command(label="Hi", command=a)