Farbe einer Rectangle ändern? (Tkinter)?
Hi!
Wie kann ich durch eine IF-Stellung die Farbe des Rechteckes ändern?
Mein Code:
from tkinter import *
import random
from tkinter import ttk
window = Tk()
window.title('Memory Game')
tabs = ttk.Notebook(window)
root = ttk.Frame(tabs)
w = Canvas(window, width=1920, height=1080)
window.geometry('1910x1080')
w.pack()
w.create_rectangle(0, 0, 150, 80, fill='red')
w.create_text(75, 40, text="Frei", font=20)
w.create_rectangle(150, 0, 300, 80, fill="green")
textfeld1 = Text(master=w, width=10, height=1, wrap='word', font='arial')
textfeld1.place(x=180, y=30)
window.mainloop()
Wenn jetzt zum Beispiel Tom in das erste Textfeld geschrieben wird und durch einen Button in einer Variable geschpeichert wird, ich eine If-Stellung aufstellen kann, in der dann das Rechteck eine andere Farbe bekommt.
Danke im Vorraus!
1 Antwort
Vom Beitragsersteller als hilfreich ausgezeichnet
Von gutefrage auf Grund seines Wissens auf einem Fachgebiet ausgezeichneter Nutzer
Computer, programmieren, Python
Speichere das Objekt zunächst in einer Variable, damit du leicht wieder darauf zugreifen kannst.
rectangle = w.create_rectangle(0, 0, 150, 80, fill='red')
In der Funktion, die bei Klick ausgelöst wird, kannst du das fill-Property über die itemconfig-Methode ändern.
w.itemconfig(rectangle, fill='green')
Ich würde übrigens empfehlen, aussagekräftige Bezeichner für Variablen, u.ä. zu finden. Das w ein Canvas darstellen soll, wird erst absolut klar, wenn man seine Definition aufsucht.