2015-09-03 48 views
0

我正在製作一個涉及SpinBox小部件的應用程序。我的問題是,無論何時使用get()方法獲取點擊小部件後的值。我相反​​,它被點擊之前獲得的價值。 下面是我在做什麼的例子: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 

任何解決此獲取幫助,將不勝感激

回答

1

而不是做一個綁定,設置command屬性。這個值總是會在值改變後被調用。

self._box = tk.Spinbox(..., command=self.func) 
... 
def func(self): 
    ... 
+0

你先生是我的英雄。你不知道多久,這與我搞砸了。我正在使用一些入口小部件與spinbox結合使用,因此我將所有這些入口綁定到相同的函數。非常感謝 –