from Tkinter import *
def counter():
global count
a = count
i=int(a)
i+=1
a=str(i)
count = a
window = Tk()
frame = Frame(window)
frame.pack()
#global count
count = StringVar()
count = '0'
botton = Button(frame,text = count ,command = counter)
print(count)
botton.pack()
window.mainloop()
这是我写的程序,挺naive的,求在这的基础上该,谢谢!
一。为什么加这一句就行?
二、Button中的text和textvariable是什么区别啊?我改成textvariable后,用count.set()/count.get()就行了,但是原理是什么就不清楚了
一、你单击Button时,botton = Button(frame,text = count ,command = counter),系统回调couter()这个函数,botton['text']=count 一执行,button的名字就改了。
二、执行couter()这个函数时,count.set()/count.get()是直接操作botton = Button(frame,text = count ,command = counter)里面的count,方法有异曲同工之妙。
谢谢你,我还最后一个问题就是那个text和textvariable区别是什么啊?
追答text和textvariable完全没有联系,
text是按钮显示的文字
textvariable是一些变量,这些变量直接和一些回调函数关联,一旦改变,回调函数就会执行。