2013-06-19 69 views
0

因此,我正在做一個簡單的程序,基本上在屏幕上製作一個縮放/滑動條。當我運行該應用程序時,縮放顯示並運行,但它不會將值打印到控制檯(終端)。相反,它打印錯誤信息蟒蛇中的Tkinter問題2.5

import Tkinter 
class App: 
    def __init__(self,parent): 
     self.scale = Tkinter.Scale(parent,from_ = 0, to = 100, command = self.getVal) 
     self.scale.pack() 
    def getVal(self): 
     amount = self.scale.get() 
     print str(amount) 
root = Tkinter.Tk() 

app = App(root) 
root.mainloop() 

這是錯誤消息:

Exception in Tkinter callback 
Traceback (most recent call last): 
    File "/System/Library/Frameworks/Python.framework/Versions/2.5/lib/python2.5/lib-tk/Tkinter.py", line 1403, in __call__ 
    return self.func(*args) 
TypeError: getVal() takes exactly 1 argument (2 given) 

我很新的Tkinter的,所以我有點失落。

編輯:Python 2.5個人。抱歉。

回答

2

command回調接收到一個新的比例值作爲參數。將getVal的定義轉換爲:

def getVal(self, newscale): 
    print newscale 
+0

@ J.FSebastian謝謝。這工作完美。 – Awalrod