何が間違っていますか?私はクラスに精通していないクラスラムダコールバックNameError
class monitor():
def update(self):
print "Called"
mon = Tk()
mainFrame = Frame(mon)
mainFrame.grid(row=1, column=1)
optionFrame = Frame(mainFrame)
optionFrame.grid(row=1, column=1)
refreshB = ttk.Button(optionFrame, text='Refresh', command=lambda: update('self'))
refreshB.grid(row=1, column=1)
mon.mainloop()
monitor()
**NameError: global name 'update' is not defined**
私は「refreshB」ボタンをDEF「更新」を呼びたいが、私は代わりにnameErrorを取得し、私は追加することが出来るのです何か他のものはありますか?スクリプトが上記のクラスでなかった場合
その後、私が使用します。希望が正常に動作します
refreshB = ttk.Button(optionFrame, text='Refresh', command=lambda: update)
...
あなたは関数としてクラス構造を扱っています。彼らは同じことではありません。クラスを呼び出すと、クラス内のコードは実行されません。代わりに、クラスで定義された '__init__'メソッドを呼び出し、クラスの新しいインスタンスを返します。 –