Hi Schlangenbeschwörer,
die Standardfarben in Tkinter ändern? Ist mir nicht bekannt, dass sowas ginge, ohne im Code rumzufingern (was ich defininitiv nicht empfehlen würde!).
Ich habe trotzdem einen Alternativvorschlag: eine Klasse ableiten á la
Code: Alles auswählen
from Tkinter import *
tk = Tk()
class StdButton(Button):
StdBg = "#c33"
StdFg = "#af8"
StdFont = ("Times", 12, "bold")
def __init__(self, *args, **kw):
kw["font"] = kw.get("font", self.StdFont)
kw["foreground"] = kw.get("fg") or kw.get("foreground") or self.StdFg ## waehle als Farbe die erste ...
kw["background"] = kw.get("bg") or kw.get("background") or self.StdBg ## ... der gueltigen Optionen
for sKey in ("fg", "bg"): ## entferne aliase
if sKey in kw: del kw[sKey]
Button.__init__(self, *args, **kw)
StdButton(tk, text = "Standard").pack()
StdButton.StdBg = "#33c"
StdButton.StdFont = ("Courier", 10, "bold")
StdButton(tk, text = "mod. Standard").pack()
tk.mainloop()
Entschuldige den Überfluss an Kommentaren - ich hoffe der Code ist selbstredend.
Grüße,
der Michel
Diese Nachricht zersört sich in 5 Sekunden selbst ...