2016-09-13 9 views
2

に設定されているにもかかわらず、私はこのtutorialから実行例をしようと、エラーを取得しています何の属性「ボタン」を持っていませんそれでもエラー):Tkinterの「クラス」のインスタンス

#!/usr/bin/env python3 

    import tkinter as tk 


    class Example(tk.Frame): 

     def __init__(self, parent): 
      tk.Frame.__init__(self, parent) 
      self.grid() 

      startBtn = tk.Button(self, text="Start", command=self.disableButton) 
      startBtn.grid(row=0, column=0, padx=10, sticky=tk.E) 

     def disableButton(self): 
      self.startBtn.config(state=tk.DISABLED) 


    def main(): 

     root = tk.Tk() 
     root.geometry("400x300") 
     app = Example(root) 
     app.mainloop() 


    if __name__ == '__main__': 
     main() 

私が逃したものは何ですか?


チュア 私はプログラムをコンパイルすることができ、ボタンが押されたときにエラーが発生したことを言及忘れてしまいました。あなたが使用機能、で

答えて

2

def disableButton(self): 
    self.startBtn.config(state=tk.DISABLED) 

しかしボタンをselfなしが作成されます。

startBtn = tk.Button(self, text="Start", command=self.disableButton) 
startBtn.grid(row=0, column=0, padx=10, sticky=tk.E) 

単にそれを作る:

self.startBtn = tk.Button(self, text="Start", command=self.disableButton) 
    self.startBtn.grid(row=0, column=0, padx=10, sticky=tk.E) 

def disableButton(self): 
    self.startBtn.config(state=tk.DISABLED) 

.. 〜できるように関数内のボタンの状態を設定します。

+0

ありがとうございました!私はそのself.sth(...)はsth(自己、...)のための唯一の合成砂糖ですが、 – Mesco

関連する問題