[Python-de] Tkinter.Button mit wechselnder Farbe

Peter Otten __peter__ at web.de
Sa Jan 5 09:28:59 UTC 2008


Am Freitag, den 04.01.2008, 23:41 +0100 schrieb Mathias Uebel:
> Hallo Schlangenfreunde,
> 
> ich möchte meine Applikation aufpeppen und einem Tkinter.Button nach dem
> Klick eine andere Farbe bzw. eine Beschriftung geben.
> 
> Kann mir jemand auf die Sprünge helfen und eventuell eine Beispiel-Seite
> nennen? Irgendwo habe ich das schon einmal gesehen, aber wo?

Oft reicht es schon, mit

>>> import Tkinter as tk
>>> button = tk.Button()
>>> print " ".join(button.config())
highlightthickness text image compound height borderwidth pady padx
[snip]

oder bei

http://www.tcl.tk/man/tcl8.4/TkCmd/button.htm

nach passenden Eigenschaften zu suchen. Ergebnis:

import Tkinter as tk

def colors():
    while 1:
        yield "red"
        yield "yellow"
        yield "blue"
nextcolor = colors().next

def click():
    button["background"] = button["activebackground"] = nextcolor()
    print button["background"]

root = tk.Tk()
button = tk.Button(root, text="Who's afraid of", command=click)
button.pack()
root.mainloop()

Peter