Wie kann ich in Python einen Button färben?

Q

query

Gast
bg und background lösen einen Error aus... Ich hab sogar diese lächerliche Zeile rauskopiert...
Code:
check_button = Button(Tool, text="Check Hardware", command=action, cursor="hand2")
 
  • Welche Python Version verwendest du?
  • Welches Betriebssystem Verwendest du?
  • Du verwendest offensichtlich Tkinter als GUI Framework, welche Version davon verwendest du?
  • Wie lautet die Fehlermeldung?
Ansonsten schau mal hier: https://www.delftstack.com/de/howto/python-tkinter/how-to-change-tkinter-button-color/

Oder alternativ zu Tkinter kann ich PyQt empfehlen.
Moin,

ich verwende PyCharm auf Windows 10 mit der Python Version 3.9 und die Fehlermeldung lautet:
self.tk.call(
_tkinter.TclError: unknown option "-bg"

das Gleiche funktioniert auch nicht für "-fg"

Vielen Dank schonmal für deine Hilfe ^^
 
Ich denke LimDul79 wollte darauf hinaus, dass es mittlerweile zwei Implementierungen von Tkinter Steuerelementen gibt, einmal die legacy Steuerelemente und die Themed Tkinter Steuerelemente. Letzteres unterstütz die Farbgebung anders als dass was du offensichtlich versuchst zu verwenden. Bei den Tehmed Steuerelementen gibt es die alten Eigenschaften nicht.

Tk Code:
l1 = tkinter.Label(text="Test", fg="black", bg="white")
b1 = tkinter.Button(text="Test", fg="red", bg="green")
Ttk Code:
style = ttk.Style()
style.configure("BW.TLabel", foreground="black", background="white")
style.configure("BW.TButton", foreground="red", background="green")

l1 = ttk.Label(text="Test", style="BW.TLabel")
b1 = ttk.Button(text="Test", style="BW.TButton")
Referenz: https://docs.python.org/3/library/tkinter.ttk.html
 
Ich denke LimDul79 wollte darauf hinaus, dass es mittlerweile zwei Implementierungen von Tkinter Steuerelementen gibt, einmal die legacy Steuerelemente und die Themed Tkinter Steuerelemente. Letzteres unterstütz die Farbgebung anders als dass was du offensichtlich versuchst zu verwenden. Bei den Tehmed Steuerelementen gibt es die alten Eigenschaften nicht.

Tk Code:
l1 = tkinter.Label(text="Test", fg="black", bg="white")
b1 = tkinter.Button(text="Test", fg="red", bg="green")
Ttk Code:
style = ttk.Style()
style.configure("BW.TLabel", foreground="black", background="white")
style.configure("BW.TButton", foreground="red", background="green")

l1 = ttk.Label(text="Test", style="BW.TLabel")
b1 = ttk.Button(text="Test", style="BW.TButton")
Referenz: https://docs.python.org/3/library/tkinter.ttk.html
Jetzt funktioniert es auch bei mir. Aber es wird nur der Rand vom Button gefärbt. Ich habe es schon mit raised="FLAT" versucht, aber da passiert nix. AHHH Und den Hintergrund vom Label krieg ich auch nicht transparent.. Warum gibt es so viele verschiedene Methoden und bei jedem muss was anderes stehen??

Aber Danke!👍
 
Ich denke LimDul79 wollte darauf hinaus, dass es mittlerweile zwei Implementierungen von Tkinter Steuerelementen gibt, einmal die legacy Steuerelemente und die Themed Tkinter Steuerelemente. Letzteres unterstütz die Farbgebung anders als dass was du offensichtlich versuchst zu verwenden. Bei den Tehmed Steuerelementen gibt es die alten Eigenschaften nicht.

Tk Code:
l1 = tkinter.Label(text="Test", fg="black", bg="white")
b1 = tkinter.Button(text="Test", fg="red", bg="green")
Ttk Code:
style = ttk.Style()
style.configure("BW.TLabel", foreground="black", background="white")
style.configure("BW.TButton", foreground="red", background="green")

l1 = ttk.Label(text="Test", style="BW.TLabel")
b1 = ttk.Button(text="Test", style="BW.TButton")
Referenz: https://docs.python.org/3/library/tkinter.ttk.html
Auf Linux funktioniert das mit der Farbe... nur sieht man den Text vom Button nur, wenn man drüber hovert.
 
Styling von UI Elementen ist immer Problematisch, vor allem wenn man das noch Plattform übergreifend machen möchte dann sollte man IMHO überlegen nicht besser eine Webtechnologie zu verwenden.
 
Zurück
Oben Unten