2017-01-14 23 views
0

Ich frage mich, wie ich einen Neustart Button erstellen kann, der einmal geklickt hat, kann das gesamte Skript neu starten. Was ich dachte war, dass du das Fenster zerstörst und es dann zerstörst, aber anscheinend gibt es keine Un-Zerstörungsfunktion.Programm neu starten tkinter

+0

Scheint wie ein Narr http://stackoverflow.com/q/731887/1072229 –

+2

Mögliche Duplikat [Zurücksetzen des GUI-Hauptfenster] (http : //stackoverflow.com/questions/731887/resetting-the-main-gui-window) –

Antwort

2

Ich fand einen Weg, es für ein generisches Python-Programm auf dieser Website zu tun: https://www.daniweb.com/programming/software-development/code/260268/restart-your-python-program. Ich schrieb ein Beispiel mit einer grundlegenden tkinter GUI zu testen:

import sys 
import os 
from tkinter import Tk, Label, Button 

def restart_program(): 
    """Restarts the current program. 
    Note: this function does not return. Any cleanup action (like 
    saving data) must be done before calling this function.""" 
    python = sys.executable 
    os.execl(python, python, * sys.argv) 

root = Tk() 

Label(root, text="Hello World!").pack() 
Button(root, text="Restart", command=restart_program).pack() 

root.mainloop()