Здравствуйте! При написании кода встретился с тремя проблемами:
1)Предыдущее окно при открытии нового не закрывается
2)Все надписи почему-то переносятся на предыдущее окно
3)Не могу поменять цвет заднего фона
Как их можно решить?
Вот код:
import tkinter as tk
class Main(tk.Tk):
def __init__(self,*args, **kwargs):
tk.Tk.__init__(self,*args, *kwargs)
self.title("Электронный формуляр")
self.geometry("900x450+300+200")
self.resizable(False, False)
#Кнопка "Ученик"
self.button = tk.Button(self,text="Ученик", command=lambda: SW())
self.button.place(x=100,y=150)
#Кнопка "Учитель"
self.button1 = tk.Button(self,text="Учитель", command=lambda: TW())
self.button1.place(x=100,y=200)
#Кнопка "Другой посетитель"
self.button2 = tk.Button(self,text="Другой посетитель", command=lambda: FW())
self.button2.place(x=100,y=250)
#Кнопка "Добавить книги в ЧБ"
self.btn_add=tk.Button(self, text='Добавить книги в ЧБ',command=lambda: Main())
self.btn_add.place(x=56, y=70)
#Кнопка "Просмотреть ЧБ"
self.btn_watch=tk.Button(self, text='Просмотреть ЧБ',command=lambda: Watch())
self.btn_watch.place(x=185, y=70)
#Кнопка "Уведомления"
self.btn_notif=tk.Button(self, text='Уведомления',command=lambda: Not())
self.btn_notif.place(x=291, y=70)
class SW(tk.Toplevel):
def __init__(self,*args, **kwargs):
tk.Toplevel.__init__(self,*args, *kwargs)
self.title("Ученик")
self.geometry("900x450+300+200")
self.resizable(False, False)
#кнопка "Добавить книги в ЧБ"
self.btn_add=tk.Button(self, text='Добавить книги в ЧБ', command=lambda: Main())
self.btn_add.place(x=56, y=70)
#кнопка "Посмотреть ЧБ"
self.btn_watch=tk.Button(self, text='Просмотреть ЧБ',command=lambda: Watch())
self.btn_watch.place(x=185, y=70)
#кнопка "Уведомления"
self.btn_notif=tk.Button(self, text='Уведомления',command=lambda: Not())
self.btn_notif.place(x=291, y=70)
#кнопка "Сохранить"
self.btn_save=tk.Button(self, text='Сохранить')
self.btn_save.place(x=800, y=415)
#надпись "ФИО"
self.lb_fio=tk.Label(text='ФИО')
self.lb_fio.place(x=26,y=140)
#надпись "Класс"
self.lb_class=tk.Label(text='Класс')
self.lb_class.place(x=220,y=140)
#надпись "Литера"
self.lb_lit=tk.Label(text='Литера')
self.lb_lit.place(x=310,y=140)
#место ввода "ФИО"
self.en_fio=tk.Entry(self,width=25)
self.en_fio.place_configure(x=56, y=140)
#место ввода "Класс"
self.en_class=tk.Entry(self,width=3)
self.en_class.place_configure(x=257, y=140)
#место ввода "Литера"
self.en_lit=tk.Entry(self,width=3)
self.en_lit.place_configure(x=355, y=140)
class TW(SW):
def __init__(self,*args, **kwargs):
tk.Toplevel.__init__(self,*args, *kwargs)
self.title("Учитель")
self.geometry("900x450+300+200")
#кнопка "Добавить книги в ЧБ"
self.btn_add=tk.Button(self, text='Добавить книги в ЧБ', command=lambda: Main())
self.btn_add.place(x=56, y=70)
#кнопка "Посмотреть ЧБ"
self.btn_watch=tk.Button(self, text='Просмотреть ЧБ',command=lambda: Watch())
self.btn_watch.place(x=185, y=70)
#кнопка "Уведомления"
self.btn_notif=tk.Button(self, text='Уведомления',command=lambda: Not())
self.btn_notif.place(x=291, y=70)
#кнопка "Сохранить"
self.btn_save=tk.Button(self, text='Сохранить')
self.btn_save.place(x=800, y=415)
#надпись "ФИО"
self.lb_fio=tk.Label(text='ФИО')
self.lb_fio.place(x=26,y=140)
#место ввода "ФИО"
self.en_fio=tk.Entry(self,width=25)
self.en_fio.place_configure(x=56, y=140)
class FW(tk.Toplevel):
def __init__(self,*args, **kwargs):
tk.Toplevel.__init__(self,*args, *kwargs)
self.title("Другой посетитель")
self.geometry("900x450+300+200")
self.resizable(False, False)
#кнопка "Добавить книги в ЧБ"
self.btn_add=tk.Button(self, text='Добавить книги в ЧБ', command=lambda: Main())
self.btn_add.place(x=56, y=70)
#кнопка "Посмотреть ЧБ"
self.btn_watch=tk.Button(self, text='Просмотреть ЧБ',command=lambda: Watch())
self.btn_watch.place(x=185, y=70)
#кнопка "Уведомления"
self.btn_notif=tk.Button(self, text='Уведомления',command=lambda: Not())
self.btn_notif.place(x=291, y=70)
#кнопка "Сохранить"
self.btn_save=tk.Button(self, text='Сохранить')
self.btn_save.place(x=800, y=415)
#надпись "ФИО"
self.lb_fio=tk.Label(text='ФИО')
self.lb_fio.place(x=26,y=140)
#место ввода "ФИО"
self.en_fio=tk.Entry(self,width=25)
self.en_fio.place_configure(x=56, y=140)
class Not(tk.Toplevel):
def __init__(self,*args, **kwargs):
tk.Toplevel.__init__(self,*args, *kwargs)
self.title("Другой посетитель")
self.geometry("900x450+300+200")
self.resizable(False, False)
class Watch(tk.Toplevel):
def __init__(self,*args, **kwargs):
tk.Toplevel.__init__(self,*args, *kwargs)
self.title("Другой посетитель")
self.geometry("900x450+300+200")
self.resizable(False, False)
if __name__ == "__main__":
app = Main()
app.mainloop()
PS: Не все команды работают. Готовы только кнопки "Ученик", "Учитель", "Другой посетитель" и "Добавить в ЧБ"