我尝试了很多不同的事情,但到目前为止还没有任何工作。
每次按下" + 1"(b1)或" -1"(b2)按钮时,我试图将Label(l1)增加或减少1。但目前,Label只是坐在那里并没有做任何事情。
以下是代码的基本形式,而不尝试更新标签:
from tkinter import *
root = Tk()
p1 = 0
l1 = Label(root, textvariable = p1)
f1 = Frame(root)
b1 = Button(root, text = "+1", command = p1 + 1)
b2 = Button(root, text = "-1", command = p1 - 1)
l1.grid(row=0, column=0)
f1.grid(row=1, column=0)
b1.pack(side="top")
b2.pack(side="top")
root.mainloop()
答案 0 :(得分:1)
您的代码中存在几个问题:
command
的{{1}}选项需要一个函数,Button
不是函数。p1 +/- 1
的{{1}}选项需要一个Tkinter变量,通常为textvariable
,但此处Label
更合适。StringVar
中混合了IntVar
和pack
,这是不可能的。为了做你想做的事,你需要定义两个函数,一个将grid
的值增加1,另一个减少它。然后,将函数传递给按钮的root
选项,并将IntVar
传递给标签的textvariable参数:
command