Ответы пользователя по тегу Tkinter
  • Как при нажатии на button в Tkinter перезапустить программу?

    @ssmolyakow
    Для этого нужно поместить код главного окна в функцию, которую можно будет вызывать и дестроить:

    import time
    from tkinter import *
    
    
    def main_window(): #функция созданий главного окна, здесь лежит весь код окна: кнопки, текст и т.д.
        global window
        window= Tk() #создание окна
        window.title('Будильник') #заголовок окна
        window.geometry('400x400') #размеры окна
        lbl = Label(window, text='Вы долго смотрели в монитор,\n теперь посмотрите в окно.', font=('Arial Bold', 14))
        lbl.grid(column=0, row=0)
    
        # вызов функции clicked() при нажатии кнопки
        btn1 = Button(window, text='НАЖМИ', command=clicked1)
        btn2 = Button(window, text='НАЖМИ2', command=clicked2)
    
        btn1.grid(column=0, row=1)
        btn2.grid(column=1, row=1)
        window.mainloop()  # бесконечный цикл окна, окно ждёт нажатий
    
    def clicked1(): #функция убивает главное окно, затем снова вызывает его и оно вновь появляется
        time.sleep(10)
        window.destroy()
        main_window()
    
    def clicked2():
        quit()
    
    if __name__ == '__main__': #первично вызываем главное окно при включении программы
        main_window()
    Ответ написан
    Комментировать