Форум сайта python.su
Я делаю программу для школьного проекта и по непонятной причине я получаю ошибку и программа не исполняет свои функции .
Это некая база данных школы для директора. У меня есть 3 кнопки ,пока рабочие только две .На первой кнопке выводится листбокс а потом канвас с анкетой учителя. Проблема заключается в том ,что если воспользоваться второй кнопкой и выбрать класс, то канвас по некой причине станет полностью белым и вылезет ошибка. Вот код программы:
root = Tk()
root.title(“Автоматизированное рабочее место директора школы”)
root.geometry(“1200x960+500+0”)
root.resizable(True, True)
root.maxsize(1800,1600)
image = Image.open(“school.png”)
resize = image.resize((1200,960))
img = ImageTk.PhotoImage(resize)
label = Label(image=img)
label.image = img
label.place(x=-1,y=-1,anchor=NW)
teachers=[teacher_name1+“ ”+teacher_last_name1+“ ”+teacher_dad_name1+“ - ”+teacher_class1,
teacher_name2+“ ”+teacher_last_name2+“ ”+teacher_dad_name2+“ - ”+teacher_class2,
teacher_name3+“ ”+teacher_last_name3+“ ”+teacher_dad_name3+“ - ”+teacher_class3,
teacher_name4+“ ”+teacher_last_name4+“ ”+teacher_dad_name4+“ - ”+teacher_class4,
teacher_name5+“ ”+teacher_last_name5+“ ”+teacher_dad_name5+“ - ”+teacher_class5]
the_classes =
class_var = Variable(value=the_classes)
teachers_var = Variable(value=teachers)
teac_check=0
#text = Label(text=“Закройте анкету,пожалуйста!”,width=38,foreground=“red”,cursor=“X_cursor”)
def select(event):
global canvas
global text
canvas = Canvas(height=220, width=400,bg=“white”)
global teac_check
global label
canvas.place(x=700, y=60, anchor=NW)
ICON = zlib.decompress(base64.b64decode(“eJxjYGAEQgEBBiDJwZDBysAgxsDAoAHEQCEGBQaIOAg4sDIgACMUj4JRMApGwQgF/ykEAFXxQRc=”))
_, ICON_PATH = tempfile.mkstemp()
with open(ICON_PATH, “wb”) as icon_file:
icon_file.write(ICON)
global button_del
text = Label(text=“Закройте анкету,пожалуйста!”,width=38,foreground=“red”,cursor=“X_cursor”)
def enter(event):
global teac_check
text.place(x=390,y=40,anchor=NW)
teac_check += 2
list.bind(“<ButtonPress-1>”, enter)
curv1 = list.curselection()
selected1 = list.get(curv1)
#list.update_idletasks()
if(selected1==teacher_name1+“ ”+teacher_last_name1+“ ”+teacher_dad_name1+“ - ”+teacher_class1): #Анкета
teac_check+=1
canvas.create_rectangle(0,0, 400, 220,fill=“gray” )
canvas.create_rectangle(10,10, 75, 95,fill=“white” )
image = Image.open(teacher_photo1)
resize = image.resize((65,85))
img = ImageTk.PhotoImage(resize)
label = Label(image=img)
label.image = img
canvas.create_window(10,10, anchor=NW, window=label)
canvas.create_line(105, 30, 260, 30)
canvas.create_text(105, 17, anchor=NW, text=“Имя : ”+teacher_name1)
canvas.create_line(105, 60, 260, 60)
canvas.create_text(105, 47, anchor=NW, text=“Фамилия : ”+teacher_last_name1)
canvas.create_line(105 ,90, 260, 90)
canvas.create_text(105 ,77, anchor=NW, text=“Отчество : ”+teacher_dad_name1)
canvas.create_line(10,120, 70, 120 )
canvas.create_text(10, 107, anchor=NW, text=teacher_class1)
canvas.create_line(75,120, 400, 120)
canvas.create_text(75, 107, anchor = NW, text=“Место жительства : ”+teacher_home1)
canvas.create_line(10, 140, 120, 140)
canvas.create_text(10, 127, anchor=NW, text=“Год рождения : ”+teacher_year1)
canvas.create_line(130, 140, 250, 140)
canvas.create_text(130, 127, anchor=NW, text=“Стаж работы : ”+teacher_work1)
canvas.create_line(10, 160, 173, 160)
canvas.create_text(10, 147, anchor=NW, text=“Предмет : ”+teacher_subject1)
canvas.create_line(10, 180, 210, 180)
canvas.create_text(10,167, anchor=NW, text=“Номер телефона : ”+teacher_number1)
canvas.create_line(10, 200, 380, 200)
canvas.create_text(10, 187, anchor=NW, text=“Замечания : ”+teacher_fines1)
if(selected1==teacher_name2+“ ”+teacher_last_name2+“ ”+teacher_dad_name2+“ - ”+teacher_class2):
canvas.create_rectangle(0,0, 400, 220,fill=“gray” )
teac_check+=1
canvas.create_rectangle(10,10, 75, 95,fill=“white” )
image = Image.open(teacher_photo2)
resize = image.resize((65,85))
img = ImageTk.PhotoImage(resize)
label = Label(image=img)
label.image = img
canvas.create_window(10,10, anchor=NW, window=label)
canvas.create_line(105, 30, 260, 30)
canvas.create_text(105, 17, anchor=NW, text=“Имя : ”+teacher_name2)
canvas.create_line(105, 60, 260, 60)
canvas.create_text(105, 47, anchor=NW, text=“Фамилия : ”+teacher_last_name2)
canvas.create_line(105 ,90, 260, 90)
canvas.create_text(105 ,77, anchor=NW, text=“Отчество : ”+teacher_dad_name2)
canvas.create_line(10,120, 70, 120 )
canvas.create_text(10, 107, anchor=NW, text=teacher_class2)
canvas.create_line(75,120, 400, 120)
canvas.create_text(75, 107, anchor = NW, text=“Место жительства : ”+teacher_home2)
canvas.create_line(10, 140, 120, 140)
canvas.create_text(10, 127, anchor=NW, text=“Год рождения : ”+teacher_year2)
canvas.create_line(130, 140, 250, 140)
canvas.create_text(130, 127, anchor=NW, text=“Стаж работы : ”+teacher_work2)
canvas.create_line(10, 160, 173, 160)
canvas.create_text(10, 147, anchor=NW, text=“Предмет : ”+teacher_subject2)
canvas.create_line(10, 180, 210, 180)
canvas.create_text(10,167, anchor=NW, text=“Номер телефона : ”+teacher_number2)
canvas.create_line(10, 200, 390, 200)
canvas.create_text(10, 187, anchor=NW, text=“Замечания : ”+teacher_fines2)
if(selected1==teacher_name3+“ ”+teacher_last_name3+“ ”+teacher_dad_name3+“ - ”+teacher_class3):
canvas.create_rectangle(0,0, 400, 220,fill=“gray” )
teac_check+=1
canvas.create_rectangle(10,10, 75, 95,fill=“white” )
image = Image.open(teacher_photo3)
resize = image.resize((65,85))
img = ImageTk.PhotoImage(resize)
label = Label(image=img)
label.image = img
canvas.create_window(10,10, anchor=NW, window=label)
canvas.create_line(105, 30, 260, 30)
canvas.create_text(105, 17, anchor=NW, text=“Имя : ”+teacher_name3)
canvas.create_line(105, 60, 260, 60)
canvas.create_text(105, 47, anchor=NW, text=“Фамилия : ”+teacher_last_name3)
canvas.create_line(105 ,90, 260, 90)
canvas.create_text(105 ,77, anchor=NW, text=“Отчество : ”+teacher_dad_name3)
canvas.create_line(10,120, 70, 120 )
canvas.create_text(10, 107, anchor=NW, text=teacher_class3)
canvas.create_line(75,120, 400, 120)
canvas.create_text(75, 107, anchor = NW, text=“Место жительства : ”+teacher_home3)
canvas.create_line(10, 140, 120, 140)
canvas.create_text(10, 127, anchor=NW, text=“Год рождения : ”+teacher_year3)
canvas.create_line(130, 140, 250, 140)
canvas.create_text(130, 127, anchor=NW, text=“Стаж работы : ”+teacher_work3)
canvas.create_line(10, 160, 173, 160)
canvas.create_text(10, 147, anchor=NW, text=“Предмет : ”+teacher_subject3)
canvas.create_line(10, 180, 210, 180)
canvas.create_text(10,167, anchor=NW, text=“Номер телефона : ”+teacher_number3)
canvas.create_line(10, 200, 390, 200)
canvas.create_text(10, 187, anchor=NW, text=“Замечания : ”+teacher_fines3)
if(selected1==teacher_name4+“ ”+teacher_last_name4+“ ”+teacher_dad_name4+“ - ”+teacher_class4):
canvas.create_rectangle(0,0, 400, 220,fill=“gray” )
teac_check+=1
canvas.create_rectangle(10,10, 75, 95,fill=“white” )
image = Image.open(teacher_photo4)
resize = image.resize((65,85))
img = ImageTk.PhotoImage(resize)
label = Label(image=img)
label.image = img
canvas.create_window(10,10, anchor=NW, window=label)
canvas.create_line(105, 30, 260, 30)
canvas.create_text(105, 17, anchor=NW, text=“Имя : ”+teacher_name4)
canvas.create_line(105, 60, 260, 60)
canvas.create_text(105, 47, anchor=NW, text=“Фамилия : ”+teacher_last_name4)
canvas.create_line(105 ,90, 260, 90)
canvas.create_text(105 ,77, anchor=NW, text=“Отчество : ”+teacher_dad_name4)
canvas.create_line(10,120, 70, 120 )
canvas.create_text(10, 107, anchor=NW, text=teacher_class4)
canvas.create_line(75,120, 400, 120)
canvas.create_text(75, 107, anchor = NW, text=“Место жительства : ”+teacher_home4)
canvas.create_line(10, 140, 120, 140)
canvas.create_text(10, 127, anchor=NW, text=“Год рождения : ”+teacher_year4)
canvas.create_line(130, 140, 250, 140)
canvas.create_text(130, 127, anchor=NW, text=“Стаж работы : ”+teacher_work4)
canvas.create_line(10, 160, 173, 160)
canvas.create_text(10, 147, anchor=NW, text=“Предмет : ”+teacher_subject4)
canvas.create_line(10, 180, 210, 180)
canvas.create_text(10,167, anchor=NW, text=“Номер телефона : ”+teacher_number4)
canvas.create_line(10, 200, 390, 200)
canvas.create_text(10, 187, anchor=NW, text=“Замечания : ”+teacher_fines4)
if(selected1==teacher_name5+“ ”+teacher_last_name5+“ ”+teacher_dad_name5+“ - ”+teacher_class5): #Анкета
canvas.create_rectangle(0,0, 400, 220,fill=“gray” )
teac_check+=1
canvas.create_rectangle(10,10, 75, 95,fill=“white” )
image = Image.open(teacher_photo2)
resize = image.resize((65,85))
img = ImageTk.PhotoImage(resize)
label = Label(image=img)
label.image = img
canvas.create_window(10,10, anchor=NW, window=label)
canvas.create_line(105, 30, 260, 30)
canvas.create_text(105, 17, anchor=NW, text=“Имя : ”+teacher_name5)
canvas.create_line(105, 60, 260, 60)
canvas.create_text(105, 47, anchor=NW, text=“Фамилия : ”+teacher_last_name5)
canvas.create_line(105 ,90, 260, 90)
canvas.create_text(105 ,77, anchor=NW, text=“Отчество : ”+teacher_dad_name5)
canvas.create_line(10,120, 70, 120 )
canvas.create_text(10, 107, anchor=NW, text=teacher_class5)
canvas.create_line(75,120, 400, 120)
canvas.create_text(75, 107, anchor = NW, text=“Место жительства : ”+teacher_home5)
canvas.create_line(10, 140, 120, 140)
canvas.create_text(10, 127, anchor=NW, text=“Год рождения : ”+teacher_year5)
canvas.create_line(130, 140, 250, 140)
canvas.create_text(130, 127, anchor=NW, text=“Стаж работы : ”+teacher_work5)
canvas.create_line(10, 160, 173, 160)
canvas.create_text(10, 147, anchor=NW, text=“Предмет : ”+teacher_subject5)
canvas.create_line(10, 180, 210, 180)
canvas.create_text(10,167, anchor=NW, text=“Номер телефона : ”+teacher_number5)
canvas.create_line(10, 200, 380, 200)
canvas.create_text(10, 187, anchor=NW, text=“Замечания : ”+teacher_fines5)
list.configure(state=“disabled”)
list.configure(cursor=“X_cursor”)
#button1.configure(state=“disabled”)
button_del = Button(height=1, width=2, background=“red”,text=“X”, command=delete)
canvas.create_window(350, 20, anchor=NW, window=button_del)
def delete():
canvas.delete(“all”)
canvas.configure(height=0,width=0)
canvas.update_idletasks()
list.configure(state=“normal”)
text.destroy()
list.configure(cursor=“”)
def select_class(event):
global scrolbar
global list_pupils
global button_del_class
for c in clases:
clases.insert(END, c)
curv2 = clases.curselection()
selected2 = clases.get(curv2)
clases.update_idletasks()
#canvas = Canvas(height=200, width=100,bg=“white”)
#canvas.place(x = 700, y = 300, anchor=NW)
selected_pupils_var =
if(selected2==class1):
selected_pupils = [A1_child1,A1_child2,A1_child3,A1_child4,A1_child5,
A1_child6,A1_child7,A1_child8,A1_child9,A1_child10,]
#selected_pupils_var1 = Variable(value=selected_pupils)
selected_pupils_var+=selected_pupils
if(selected2==class2):
selected_pupils = [Б2_child1,Б2_child2,Б2_child3,Б2_child4,Б2_child5,
Б2_child6,Б2_child7,Б2_child8,Б2_child9,Б2_child10]
#selected_pupils_var2 = Variable(value=selected_pupils)
selected_pupils_var+=selected_pupils
selected_pupils_var0 = Variable(value=selected_pupils_var)
list_pupils = Listbox(listvariable=selected_pupils_var0, selectmode=SINGLE, height=5,width= 25)
list_pupils.place(x=700, y=300, anchor=NW)
scrolbar = ttk.Scrollbar(orient=“vertical”, command=list_pupils.yview) #скроллбар
scrolbar.place(x=855, y=300, anchor=NW, height=84)
list_pupils=scrolbar.set
button_del_class = Button(height=1,width=2, text=“X”, background=“red”, command=delete_class_people)
button_del_class.place(x=870, y=300, anchor=NW)
def delete_class_people():
scrolbar.destroy()
list_pupils.destroy()
button_del_class.destroy()
def teacher():
global list
global button_del1_list
list = Listbox(listvariable=teachers_var, selectmode=SINGLE,height=5,width=45, state=“normal”)
list.place(x = 390, y=60, anchor=NW)
list.bind(“<<ListboxSelect>>”, select)
button_del1_list = Button(height=1, width=2,text=“X”, background=“red”, command=delete_tec)
button_del1_list.place(x = 663, y = 61, anchor=NW)
#button1.configure(state=“disabled”)
button1.configure(command=delete_tec)
#def delete_only_tec():
#if(teac_check==1):
# canvas.delete(“all”)
#canvas.configure(height=0,width=0)
#canvas.update_idletasks()
#list.configure(cursor=“”)
#if(teac_check==2):
#text.destroy()
#canvas.delete(“all”)
#canvas.configure(height=0,width=0)
#canvas.update_idletasks()
#list.configure(state=“normal”)
#text.destroy()
#list.configure(cursor=“”)
#list.configure(state=“normal”)
#list.configure(cursor=“”)
#list.destroy()
#label.destroy()
#button_del1_list.destroy()
#button1.configure(command=teacher)
def delete_tec():
if(teac_check==1):
canvas.delete(“all”)
canvas.configure(height=0,width=0)
canvas.update_idletasks()
text.destroy()
#list.configure(cursor=“”)
if(teac_check==2):
text.destroy()
list.configure(state=“normal”)
button_del1_list.destroy()
list.configure(cursor=“”)
list.destroy()
#list.configure(state=“normal”)
canvas.configure(height=0,width=0)
canvas.update_idletasks()
#button1.configure(state=“normal”)
button_del.destroy()
label.destroy()
text.destroy()
button1.configure(command=teacher)
def classes():
global clases
global button_del2
clases = Listbox(listvariable=class_var, selectmode=SINGLE, height=5,width=25)
clases.place(x=390, y=180,anchor=NW)
clases.bind(“<<ListboxSelect>>”, select_class)
button_del2 = Button(height=1,width=2, text=“X”, background=“red”, command=delete_clas)
button_del2.place(x =543, y=181, anchor=NW)
def delete_clas():
scrolbar.destroy()
list_pupils.destroy()
button_del_class.destroy()
clases.destroy()
button_del2.destroy()
button1 = Button(text=“Преподавательский состав”,height=5, width=30, command=teacher )
button1.place(x=30, y= 60,anchor=NW)
button2 = Button(text=“Классы”, width=30,height=5, command=classes)
button2.place(x=30, y= 180,anchor=NW)
button3= Button(text=“Новости министерства образования”, width=30, height=5)
button3.place(x=30, y= 300,anchor=NW)
root.mainloop()
Вот ошибка программы:
Traceback (most recent call last):
File “C:\Python311\Lib\tkinter\__init__.py”, line 1948, in __call__
return self.func(*args)
^^^^^^^^^^^^^^^^
File “c:\Users\����\Desktop\1234\python\project\project.py”, line 83, in select
selected1 = list.get(curv1)
^^^^^^^^^^^^^^^
File “C:\Python311\Lib\tkinter\__init__.py”, line 3253, in get
return self.tk.call(self._w, ‘get’, first)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
_tkinter.TclError: bad listbox index “”: must be active, anchor, end, @x,y, or a number
Перепробовал много методов решения этой ошибки, но ничего не помогает.
Офлайн
Надеюсь, кто-то ответит, потому что в интернете ничего найти не могу. Буду проверять форум каждый день!
Офлайн
ertedfedМолодой человек, вы имеете немножко совести? Как можно выкладывать такую портянку, неотформатированную, нечитабельную, с невразумительным заголовком? Это же издевательство над теми, кто рискнёт ознакомится с вашим сообщением. И шо, после такого наплевательского отношения к форумчанам вы имеете наглость просить чтобы кто-то вам ответил? Так нет же, после такого с вами никто не будет разговаривать. Сами разбирайтесь со своими ошибками.
Надеюсь, кто-то ответит
Отредактировано Alex.Pro. (Фев. 1, 2025 07:59:34)
Офлайн
[code python]между этими тегами вставлять код на форуме[/code]
Офлайн