Форум сайта 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]
Офлайн
It allows you to create interactive applications with components like windows, buttons, labels, and menus. Its simplicity makes it perfect for rapid prototyping, smash karts small projects, or even complex applications when paired with other Python libraries.
Офлайн