我正在制作一个涉及SpinBox小部件的应用程序。我的问题是每当我点击小部件后使用get()方法获取值。我改为在点击之前获取该值。 这是我正在做的一个例子:
import tkinter as tk
class Example(object):
def __init__(self, master):
master.geometry('150x150')
self._box = tk.Spinbox(master, from_ = 0, to = 100)
self._box.pack(expand = True)
self._box.bind('<ButtonRelease>', self.func)
def func(self, event):
print(int(self._box.get()))
root = tk.Tk()
app = Example(root)
root.mainloop()
正在打印的是
0 #1st click up | spinbox displays 1
1 #2nd click up | spinbox displays 2
2 #3rd click up | spinbox displays 3
# etc
任何帮助解决这个问题都将受到赞赏
答案 0 :(得分:1)
不是进行绑定,而是设置command
属性。在值发生变化后,将始终调用此方法。
self._box = tk.Spinbox(..., command=self.func)
...
def func(self):
...