Random Ergebnis als Labeltext anzeigen
Verfasst: Freitag 3. Dezember 2010, 17:53
Hallo,
ich habe ein einfaches Gui mit einem Label und einem Button. Jedes mal wenn ich auf den Button drücke soll per Zufall entweder Kreuz, Pik, Herz oder Karo als Labeltext angezeigt werden.
Dafür habe ich eine Funktion zufall() geschrieben, die Ihr Ergebnis als Beschriftung für das Label ausgibt. Diese Funktion sollte jedes mal, beim drücken des Buttons, ausgeführt werden. Tut aber leider etwas völlig anderes:
Beim starten des Programms hat das Label einen zufälligen Text (Kreuz, Pik, Herz oder Karo), obwohl die Funktion zufall() nicht aufgerufen wurde. Und das was zufällig beim Programmstart als Labeltext ausgewählt wurde bleibt dort stehen, egal wie oft ich den Button Zufall drücke.
Hier der Quelltext:
OS = Linux
Python = 3.1.2
Kann mir bitte jemand erklären was ich falsch mache?
Gruß
Nils
ich habe ein einfaches Gui mit einem Label und einem Button. Jedes mal wenn ich auf den Button drücke soll per Zufall entweder Kreuz, Pik, Herz oder Karo als Labeltext angezeigt werden.
Dafür habe ich eine Funktion zufall() geschrieben, die Ihr Ergebnis als Beschriftung für das Label ausgibt. Diese Funktion sollte jedes mal, beim drücken des Buttons, ausgeführt werden. Tut aber leider etwas völlig anderes:
Beim starten des Programms hat das Label einen zufälligen Text (Kreuz, Pik, Herz oder Karo), obwohl die Funktion zufall() nicht aufgerufen wurde. Und das was zufällig beim Programmstart als Labeltext ausgewählt wurde bleibt dort stehen, egal wie oft ich den Button Zufall drücke.
Hier der Quelltext:
Code: Alles auswählen
import tkinter as tk, random
def zufall():
farben = ["Karo", "Herz", "Pik", "Kreuz"]
ergebnis = random.choice(farben)
lb1["text"] = str(ergebnis)
main = tk.Tk()
lb1 = tk.Label(main, width = 20, height = 2)
lb1.pack()
b1 = tk.Button(main, text = "Zufall", command = zufall())
b1.pack()
main.mainloop()
Python = 3.1.2
Kann mir bitte jemand erklären was ich falsch mache?
Gruß
Nils