from tkinter import *
class App:
def __init__(self, master):
frame = Frame(master)
frame.grid()
self.grid_data_table = ["NONE"]
self.D_Text = " "
self.a = 0
self.b = 0
for i in range(1,100 + 1):
self.grid_data_table.extend([i])
self.grid_data_table[i] = Button(frame, text=self.D_Text, font="bold", command=lambda: self.selected(i))
self.a = self.a + 1
self.grid_data_table[i].grid(row=self.b, column=self.a)
#self.grid_data_table[i]["text"] = str(i) # testing only
if self.a == 10:
self.b = self.b + 1
self.a = 0
def selected(self, num):
print("Loaded Button:", num)
root = Tk()
app = App(root)
root.mainloop()
anyhow, When I run this, I get the grid of 100 buttons in a 10x10 square, just the way I want, but the issue is command=self.selected(i) seems to make all of the buttons do self.selected(100) and no 1,2,3,4... 100. am I doing something wrong here?
I wanted to use a "list" or "array" to do this because it is so much easier than writing 100 buttons out.