所以我想使用for循环为我的按钮在Tkinter中提供一个功能。当我这样做的时候,我得到一个错误按摩,那些按钮没有定义。我尝试了几件事,但我还是没有工作。如果你能帮助我,我会很高兴的。顺便说一下,它是一个计算器。
这就是循环的样子:
for s in range(0, 10):
def add_(s):
entry_box.insert(1000, str(number))
这就是我按下按钮的方式:
button_zero = Button(main_window, text='0', padx=30, pady=25, command=add_0)
button_zero.place(x=67,y=430)
答案 0 :(得分:1)
如果你有10个按钮(0-9)都将数字插入entry_box
,我会建立一个功能工厂。
def add_(s):
def wrapped():
entry_box.insert(1000, s)
return wrapped
当您致电add_(2)
时,您会获得一个函数,该函数在调用时会将2
添加到输入框中。
add_2 = add_("2")
add_2() # adds 2 to the entry box, returns None
然后,您可以遍历按钮并为每个按钮分配命令。
for i, button in enumerate([button_zero, button_one, button_two, ...]):
button.configure(command=add_(str(i)))
答案 1 :(得分:0)
根据您提供的信息,按钮中的命令参数不等于任何已定义的函数。也许只是一个错字:
for s in range(0,10):
def add_0(s):
entry_box.insert(1000,str(number))