Follower

Samstag, 10. Februar 2018

Buttons belegen

Wieder ein Beispiel, von dem ich etwas lernen sollte, das aber auch noch Fragen aufwirft.

from tkinter import *
import sys

# Ich importiere also alle tkinter Befehel und die sys Bibliothek

def ende():
    sys.exit()

#ich definiere ende, und dazu nutze ich exit aus der sys-Bibliothek, womit offenbar ein Programm beendet wird.

Fenster = Tk()
Anzeige = Label(Fenster, text="Guten Tag")
Knopf = Button(Fenster, text="Ende", command=ende)
Anzeige.pack()
Knopf.pack()
Fenster.mainloop()

Was Neues: mit command wird dem Button die Funktion übergeben, also ihm mitgeteilt, was er beim Anklicken tun soll. Komisch - in den bisherigen Beispielen taten die Buttons doch auch was, ohne die command option. Hier übrigens wird das Programm beendet, wenn man den Button anklickt. Soll ja auch so sein laut Funktion.
Das mit dem command möchte ich näher verstehen. Und finde ein neues Beispiel:

from tkinter import *

def Aktion():
    Anweisung.config(text="Ich wurde geändert!")

# oops, eine neue Funktion: config - Bestandteil von tkinter? offenbar

Fenster = Tk()
Fenster.title("Ich mache nun was.")

change = Button(Fenster, text="Ändern", command=Aktion)
Exit = Button(Fenster, text="Beenden", command=Fenster.quit)

# noch was Neues: quit - damit wird wohl auch ein Programm beendet. Zumindest in tkinter

Anweisung = Label(Fenster, text="Ich bin eine Anweisung:\n\
Klicke auf 'Ändern'.")



# das mit dem \n\ hatte ich schon erklärt - erzwingt einen Zeilenumbruch.

Info = Label(Fenster, text="Ich bin eine Info:\n\
Der Beenden-Button schließt das Programm.")

Anweisung.pack()
change.pack()
Info.pack()
Exit.pack()

Fenster.mainloop()

Tja, offenbar kann man mit command dem Button mitteilen, welche Funktion der ziehen soll

Keine Kommentare:

Kommentar veröffentlichen