Как сделать GUI очередь из заказов клиентов - PullRequest
0 голосов
/ 09 ноября 2019

Я пытаюсь создать графический интерфейс для очереди заказов клиентов, где каждый кадр представляет общий заказ клиента, а внутри каждого кадра - каждый из их заказов в виде кнопки. Например, если клиент заказывает 2 средних латте и 1 маленькое американо, имейте кнопку для каждого среднего латте и американо в рамке, расположенной слева от окна. Затем, если другой клиент заказывает набор товаров, создайте новую рамку рядом с другой рамкой с кнопками внутри рамки.

Причина в том, что у меня есть кнопки для каждого бариста на кассе, который нажимает их имяи линия заказа клиента, которую они сделали, чтобы позже создать аналитику.

Я использовал структуру данных очереди для чтения из своей базы данных заказов клиентов и элементов очереди / очереди, которые я не включил в код. Вот код, который отображает очередь из очереди:

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)
    self.barista1 = Button(master,text="Barista 1: Daniel",width=30,height=5)
    self.barista1.pack(side=BOTTOM)
    self.barista2 = Button(master,text="Barista 2: Josh",width=30,height=5)
    self.barista2.pack(side=BOTTOM)
    self.items = []

    for item in customerQueue.queue:
        self.button = Label(master,text=item,bg="red", width=35)
        self.button.pack(side=TOP)
        self.items.append(self.button)

    def orderFulfilled(self, event):
        customerQueue.dequeue()
        self.button = self.items.pop(-1)
        self.button.pack_forget()
        print(customerQueue.queue)

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

Графический интерфейс начальной очереди и графический интерфейс после однократного нажатия кнопки «завершить»:

GUI of Initial Queue GUI after pressing 'complete' once

Я пытаюсь сделать так, чтобы новый заказ клиента отображался во фрейме рядом с предыдущим заказом из моей структуры данных очереди, но у меня возникают проблемы с реализацией этого, так как каждый заказ идет под одной меткой.

...