Page 1 of 1

Wie kann ich dafür sorgen, dass meine Schaltflächen von tkinter wiederholt funktionieren?

Posted: 06 Jan 2025, 05:48
by Anonymous
Ich versuche, ein Raster zur Simulation von Langtons Ameise zu erstellen. Ich möchte ein Raster haben, das ich vor Beginn der Simulation ändern kann, aber ich kann keine Schaltflächen erstellen, die nach dem Klicken erneut eine Funktion verwenden.

Code: Select all

from tkinter import *

window = Tk()
frame = Frame(window).grid()
files = []
btn=[]
status=[]

def btn_color(status):
if status==1:
return("black")
if status==0:
return("white")

def click_update(status,btn):
return(lambda: click_update1(status,btn))

def click_update1(status,btn):
status=abs(status-1)
if status==1:
btn.config(bg="black")
if status==0:
btn.config(bg="white")
for i in range(2500):
files.append("button"+str(1))
for i in range(len(files)):
status.append(int(0))
btn.append(Button(frame,text="k", font=("Arial",3),width=2,height=2,repeatdelay=100,repeatinterval=100))
btn[i].grid(row=int(i//50),column=int(i%50),sticky="we")
for i in range(len(files)):
btn[i].config(bg=btn_color(status[i]), command=click_update(status[i],btn[i]))
window.mainloop()