#python #tkinter
#python #tkinter
Вопрос:
Это мой полный код (пока). Моя база данных «biografer_test.db» содержит: название кинотеатра, общее количество мест, цену для взрослых, цену для пожилых и цену для детей. В настоящее время в нем 3 кинотеатра, но его можно изменить. Моя проблема в том, что сохраняется и печатается только последняя запись.
название кинотеатра | места | для взрослых | старший | Для детей |
---|---|---|---|---|
Sergel | 270 | 140 | 130 | 100 |
Сага | 250 | 130 | 115 | 95 |
Содер | 290 | 135 | 120 | 105 |
root = Tk()
root.geometry("400x400")
root.title("Stockholmsbiografer")
import sqlite3
conn = sqlite3.connect("biografer_test.db")
c = conn.cursor()
class Huvudmeny:
meny_label = Label(root, text="Välkommen till en ny arbetsdag! n vänligen välj nedan vad du vill göra")
meny_label.pack()
def __init__(self, master):
inramning = Frame(master)
inramning.pack()
self.alla_biograferknapp= Button(master, text="Välj alla biografer", command=self.allabior)
self.alla_biograferknapp.pack()
self.avslutaknapp = Button(master, text="Avsluta", command=root.destroy, fg="red")
self.avslutaknapp.pack()
def allabior(self):
fonster4=Toplevel()
fonster4.title("Biljettförsäljning för ALLA biografer.")
fonster4.geometry("350x200")
inforuta = Label(fonster4, text="Vänligen skriv in info om alla biografer nedan.")
inforuta.pack()
bio1 = []
def valj_biograf(fonster, person_typ, text_variabel):
Label(fönster, text=person_typ).pack()
salda = Entry(fönster, textvariable=text_variabel)
salda.pack()
return salda
def skriva_info():
global bio1
myLabel = Label(fönster4, text=salda.get()).pack()
anslut = sqlite3.connect('biografer_test.db')
c = anslut.cursor()
listvarden = c.execute('SELECT * FROM biografer')
biografnamn = c.fetchall()
BIOGRAFVAL = []
PLATSER = []
#VUXENPRIS = []
#PENSIONÄRSPRIS = []
#BARNPRIS = []
for row in biografnamn:
biograf = row[0]
antal_platser = row[1]
#vpris = row[2]
#ppris = row[3]
#bpris = row[4]
BIOGRAFVAL.append(biograf)
PLATSER.append(antal_platser)
#VUXENPRIS.append(vpris)
#PENSIONÄRSPRIS.append(ppris)
#BARNPRIS.append(bpris)
i = 0
for elements in BIOGRAFVAL:
vuxen = StringVar()
pensionär = StringVar()
barn = StringVar()
Label(fonster4, text= BIOGRAFVAL[i]).pack()
Label(fonster4, text="Skriv in antal biljetter av varje sort du vill köpa").pack()
Label(fonster4, text="Max antal platser för " BIOGRAFVAL[i] " är " str(PLATSER[i])).pack()
i =1
personer = [('vuxen',vuxen),('pensionar', pensionar), ('barn',barn)]
for p in personer:
salda1 = välj_biograf(fönster4, p[0] "biljett", p[1].get())
salda1.pack()
Button(fonster4, text="fortsätt", command=lambda: info()).pack()
def info():
fonster5=Toplevel()
fonster5.title("Biljettförsäljning för EN biograf.")
fonster5.geometry("350x200")
for p in personer:
bio1.append(salda1.get())
print(bio1)
Комментарии:
1. @CoolCloud вот весь код
2. Вы уверены, что знаете, как использовать классы? Я бы рекомендовал сделать это без занятий, если вы не знакомы с ООП. Возможно, также было бы лучше включить в него фотографии ваших проблем и так далее.
3. @CoolCloud У меня также есть опция в моем главном меню (класс Huvudmeny) для ОДНОГО кинотеатра. Эта часть работает так, как я хочу, и поэтому я ее не включил. Я полагаю, поскольку это два разных параметра меню, лучше поместить их в класс?
4. @CoolCloud если вы хотите, я могу отправить вместо этого всю свою программу.
5. @CoolCloud. Теперь он сохраняет последние три входных данных!! спасибо за вашу помощь. Я думаю, что я мог бы понять, как это сделать сейчас !! 🙂