使用 tkinter 循环制作具有不同输出的类似小部件
Use tkinter loop to make similar widgets with different outputs
我正在尝试创建一个循环来添加小部件。
该代码应该添加 5 个按钮,每个按钮在按下时给出不同的数字。
import tkinter as tk
top = tk.Tk()
m1 =tk.Frame(width=400, height=400)
m1.pack()
def thingie(s):
print(s)
for i in range(5):
btn = tk.Button(m1, text='Button'+str(i), command=lambda:thingie(i))
btn.place(x=0, y=i*35)
top.mainloop()
代码运行没有错误,但每个按钮都给我相同的数字而不是不同的数字。我该如何解决这个问题?
import tkinter as tk
top = tk.Tk()
m1 =tk.Frame(width=400, height=400)
m1.pack()
def thingie(s):
print(s)
for i in range(5):
btn = tk.Button(m1, text='Button'+str(i), command=lambda m=i: thingie(m))
btn.place(x=0, y=i*35)
top.mainloop()
我正在尝试创建一个循环来添加小部件。 该代码应该添加 5 个按钮,每个按钮在按下时给出不同的数字。
import tkinter as tk
top = tk.Tk()
m1 =tk.Frame(width=400, height=400)
m1.pack()
def thingie(s):
print(s)
for i in range(5):
btn = tk.Button(m1, text='Button'+str(i), command=lambda:thingie(i))
btn.place(x=0, y=i*35)
top.mainloop()
代码运行没有错误,但每个按钮都给我相同的数字而不是不同的数字。我该如何解决这个问题?
import tkinter as tk
top = tk.Tk()
m1 =tk.Frame(width=400, height=400)
m1.pack()
def thingie(s):
print(s)
for i in range(5):
btn = tk.Button(m1, text='Button'+str(i), command=lambda m=i: thingie(m))
btn.place(x=0, y=i*35)
top.mainloop()