【发布时间】:2017-12-08 13:15:42
【问题描述】:
我正在尝试制作一个可扩展的计数器。
在第一个窗口中输入所需的计数器数量。
在第二个窗口中有标签和按钮,用于向标签添加一个。
这是我的代码:
from tkinter import *
root = Tk()
def newWindow():
window = Toplevel()
for i in range(int(textbox.get())):
exec("global label"+ str(i))
exec("label" + str(i) + " = Label(window, text = '0')")
exec("label" + str(i) + ".grid(row = 0, column = i)")
exec("global button"+ str(i))
exec("button" + str(i) + " = Button(window, text = 'Add', command = lambda: setText(label" + str(i) + "))")
exec("button" + str(i) + ".grid(row = 1, column = i)")
def setText(label):
label.config(text = str(int(label.cget("text")) + 1))
textbox = Entry(root)
textbox.grid(row = 0)
submitButton = Button(root, text = "Submit", command = newWindow)
submitButton.grid(row = 0, column = 1)
root.mainloop()
然而,这是我得到的错误:
name 'label_' is not defined
其中 _ 是 i。
使它们全球化也没有解决这个问题。
请帮忙!
【问题讨论】:
-
请显示完整的错误信息。
标签: python button tkinter label counter