Python Tkinter OOP在实例方法中更新小部件

Python Tkinter OOP在实例方法中更新小部件,python,python-3.x,oop,tkinter,Python,Python 3.x,Oop,Tkinter,我的系统打印客户订单队列的GUI。订单完成后,工人按complete,所有项目应在GUI中移动,移除弹出的项目 格式不正确,但缩进在我的idle中是正确的。我在按下“完成”按钮时收到此错误,不知道如何修复它。我对tkinter和OOP的经验很少 文件“C:\Users\stecd\Desktop\NEA-Copy\Order Queue.py”,第68行,在OrderCompleted中 self.button=标签(主控,文本=项目,宽度=30,高度=5,bg=“红色”) NameError:

我的系统打印客户订单队列的GUI。订单完成后,工人按complete,所有项目应在GUI中移动,移除弹出的项目

格式不正确,但缩进在我的idle中是正确的。我在按下“完成”按钮时收到此错误,不知道如何修复它。我对tkinter和OOP的经验很少

文件“C:\Users\stecd\Desktop\NEA-Copy\Order Queue.py”,第68行,在OrderCompleted中 self.button=标签(主控,文本=项目,宽度=30,高度=5,bg=“红色”) NameError:未定义名称“master” 代码:

类MyFirstGUI:
定义初始(自我,主):
self.master=master
master.title(“一个简单的GUI”)
self.label=label(master,text=“这是我们的第一个GUI!”)
self.label.pack()
self.completedButton=按钮(master,text=“Complete”,宽=30,高=5,bg=“绿色”)
self.completedButton.pack(侧面=底部)
self.completedButton.bind(“”,self.orderCompleted)
对于customerQueue.queue中的项目:
self.button=标签(主控,文本=项目,宽度=30,高度=5,bg=“红色”)
自助按钮包(侧面=左侧)
def订单已完成(自身、事件):
customerQueue.dequeue()
self.button.pack_忘记()
对于customerQueue.queue中的项目:
self.button=标签(主控,文本=项目,宽度=30,高度=5,bg=“红色”)
自助按钮包(侧面=左侧)
root=Tk()
my_gui=MyFirstGUI(根)
root.mainloop()
中说


您应该使用
self.master


这回答了我的问题。

你应该使用
self.master
。这篇文章不是回答,而是一篇评论。
class MyFirstGUI:
    def __init__(self, master):
        self.master = master
        master.title("A simple GUI")

        self.label = Label(master, text="This is our first GUI!")
        self.label.pack()

        self.completedButton = Button(master,text="Complete",width=30,height=5,bg="green")
        self.completedButton.pack(side=BOTTOM)
        self.completedButton.bind('<Button-1>', self.orderFulfilled)

        for item in customerQueue.queue:
            self.button = Label(master,text=item,width=30,height=5,bg="red")
            self.button.pack(side=LEFT)

    def orderFulfilled(self, event):
        customerQueue.dequeue()
        self.button.pack_forget()

        for item in customerQueue.queue:
            self.button = Label(master,text=item,width=30,height=5,bg="red")
            self.button.pack(side=LEFT)


root = Tk()
my_gui = MyFirstGUI(root)
root.mainloop()