我一直在试图找出tkinter,因为我的计算机科学项目需要它,所以我对它还是很陌生,但我试图制作一个按钮,当按下时,一个变量会增加,并以改变的数量输出
这是我尝试的原始代码:
from tkinter import *
root = Tk()
item_num = 0
def AddButton():
global item_num
item_num =+ 1
item_text = "Item "+ item_num
item1 = Label(receiptFrame, text=item_text, padx=25, pady=10)
item1.pack()
addButton = Button(root, text="Add Button", padx=25, pady=25, command=AddButton)
addButton.pack()
receiptFrame = Frame(root, width=70, height=30)
receiptFrame.pack()
root.mainloop
当我按下按钮时,会出现:
item_text=“item”+item_num
TypeError:只能将str(而不是“int”)连接到str
我尝试使用在这里找到的另一个解决方案,使用IntVar(),set&;获取,但运行时,我获得:
TypeError:只能将str(而不是“IntVar”)连接到str
from tkinter import *
root = Tk()
item_num = 0
item_num = IntVar()
def AddButton():
global item_num
item_num.set(item_num.get()+1)
item_num = int(item_num)
item_text = "Item "+ item_num
item1 = Label(receiptFrame, text=item_text, padx=25, pady=10)
item1.pack()
addButton = Button(root, text="Add Button", padx=25, pady=25, command=AddButton)
addButton.pack()
receiptFrame = Frame(root, width=70, height=30)
receiptFrame.pack()
root.mainloop
我也尝试过使用lambda将item_num作为参数放入函数中,但当我这样做时,按钮根本无法再次按下,因此我不确定哪里出了问题
再说一次,我不完全确定我在做什么,所以我很欣赏任何半初学者的解决方案(啊哈:)
您正在使用
+
进行连接,这是一个问题,因为+
的两边都需要是字符串。此外,您还有其他问题,如:=+ 1
,这意味着该值始终是+1(正1),应该是+= 1
,因此每次增加1李>()
放在mainloop()
的末尾李>因此,最终的格式化代码是:
还有其他方法可以使用write
item_text
,如:相关问题 更多 >
编程相关推荐