tkinter" Class"没有属性"按钮"即使在实例

时间:2016-09-13 10:29:24

标签: python class tkinter

我尝试从此tutorial运行示例并收到错误:

self.startBtn.config(state=tk.DISABLED) AttributeError: 'Example' object has no attribute 'startBtn'

为了简单起见,我重写了我的代码(并且仍然存在错误):

  #!/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()

我错过了什么?

现实化 我忘了提到程序能够编译并在按下按钮时发生错误。

1 个答案:

答案 0 :(得分:2)

功能中,您使用:

Try this:

db.collection('users').update(
          {"id":user.id},,
           {
             $push: {
               labels: {
                  $each: //yourArray
               }
             }
           }
        );

按钮已创建而没有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)

...能够在功能中配置按钮的状态。