我正在尝试在 tkinter 中实现一个计数器。每当我单击任何按钮时,我都希望它+1。但是,计数器值始终保持不变。这是我的示例代码:
import tkinter as tk
import time
Count=0
def callback1(Count):
print(Count)
if Count == 1:
texts.set('a')
str1.set('1')
str2.set('2')
str3.set('3')
if Count == 2:
texts.set('b')
str1.set('1')
str2.set('2')
str3.set('3')
Count+=1
#(I have omitted callback2 and callback3 because they are basically the same as callback1)
window = tk.Tk()
texts=tk.StringVar('')
window.title('Test')
window.geometry('400x200')
l=tk.Label(window,
textvariable=texts,
font=('Arial',12),
)
l.pack()
str1=tk.StringVar('')
str2=tk.StringVar('')
str3=tk.StringVar('')
tk.Button(window, textvariable = str1, command = lambda: callback1(Count)).pack(side='right',expand='yes')
tk.Button(window, textvariable = str2, command = lambda: callback2(Count)).pack(side='right',expand='yes')
tk.Button(window, textvariable = str3, command = lambda: callback3(Count)).pack(side='right',expand='yes')
tk.mainloop()
我实际上尝试将 Count+=1 放在很多地方,但没有一个奏效。所以我猜问题是 Count 的值会在每个循环(mainloop())中重置为 0。对tkinter不太熟悉。我最终想用这个计数器做的是每次按下按钮时更新窗口中显示的“对话”(标签和按钮)。按下不同的按钮应该会产生不同的对话(比如那种文字游戏)。谁能帮我解决这个问题?