Tkinter ООП обновляет виджет в методе экземпляра - PullRequest
0 голосов
/ 01 ноября 2019

Моя система печатает графический интерфейс очереди заказов клиентов. Когда заказ завершен, рабочий нажимает кнопку «Завершено», и все элементы должны перемещаться по всему графическому интерфейсу, удаляя выделенный элемент.

Форматирование получилось неправильно, но отступ в моем бездействии правильный. Я получил эту ошибку после нажатия кнопки Comlete и не знаю, как ее исправить. У меня минимальный опыт работы с tkinter и ООП

File "C:\Users\stecd\Desktop\NEA - Copy\Order Queue.py", line 68, in orderFulfilled
    self.button = Label(master,text=item,width=30,height=5,bg="red")
NameError: name 'master' is not defined

Код:

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()

1 Ответ

0 голосов
/ 01 ноября 2019

quamrana сказал в комментарий , что

Вы должны использовать self.master.

Это ответ мойвопрос.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...