У меня есть приложение Tkinter, которое не предназначено для создания меток на основе значений моей очереди. Каждая этикетка содержит информацию о продукте. Каждый элемент очереди выбирается из моей таблицы базы данных заказа клиента. Однако мне нужно нажать кнопку «Завершить», которая выскакивает элемент очереди и удаляет метку из окна. Я почти заставил его работать, кнопка работает с первым ярлыком и больше не удаляет ярлыки после этого.
Я не включил код очереди для минимализма.
conn=sqlite3.connect("system.db")
cur=conn.cursor()
query = cur.execute("""SELECT orderid, product, size, quantity, milkOptions FROM
activeCustomerOrders""").fetchall()
conn.commit()
conn.close()
customerQueue = Queue()
for row in query:
customerQueue.enqueue(row)
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):
#print("hi")
customerQueue.dequeue()
for item in customerQueue.queue:
self.button.pack_forget()
#self.button =
Label(self.master,text=item,width=30,height=5,bg="red")
root = Tk()
my_gui = MyFirstGUI(root)
root.mainloop()
+---------+-----------+--------+-------------+------------+----------+-------+------------+
| orderid | product | size | milkOptions | orderDate | quantity | price | customerid |
+---------+-----------+--------+-------------+------------+----------+-------+------------+
| 1 | Espresso | Small | Soya | 2019-10-29 | 1 | 1.0 | 1 |
| 2 | Cappucino | Small | SemiSkimmed | 2019-10-29 | 1 | 1.0 | 1 |
| 3 | Cappucino | Small | SemiSkimmed | 2019-10-29 | 1 | 1.0 | 1 |
| 4 | Cappucino | Medium | SemiSkimmed | 2019-10-29 | 1 | 1.0 | 1 |
+---------+-----------+--------+-------------+------------+----------+-------+------------+