Python 使用按钮重新启动Tkinter中的程序

Python 使用按钮重新启动Tkinter中的程序,python,user-interface,button,tkinter,python-requests,Python,User Interface,Button,Tkinter,Python Requests,我是Python新手,正在尝试编写一个小程序,其中GUI窗口应该在单击按钮时重新打开 我在网上看到那行代码 os.execl(sys.executable, sys.executable, *sys.argv) 应该使您的程序重新启动,但它所做的只是退出GUI窗口并完全干净地重新启动Shell from tkinter import * import sys import os def restart_program(): os.execl(sys.executable, sys

我是Python新手,正在尝试编写一个小程序,其中GUI窗口应该在单击按钮时重新打开

我在网上看到那行代码

os.execl(sys.executable, sys.executable, *sys.argv)
应该使您的程序重新启动,但它所做的只是退出GUI窗口并完全干净地重新启动Shell

from tkinter import *
import sys
import os


def restart_program():
     os.execl(sys.executable, sys.executable, *sys.argv)

window = Tk()
window.title("Test")
button = Button(window, text="RESTART", width=6, command=restart_program).grid(row=5, column=0)



window.mainloop()

这是我的atm代码的相关部分(我没有包括所有的代码-一些更多的小部件正在添加到现有的atm中,但与问题无关)。有没有办法重新打开名为“Test”的窗口,特别是不必将其放入函数中?非常感谢您的帮助!:)

把它放在函数中有什么不对?重用代码正是函数的用途。您在哪里调用
mainloop
函数?我在给定代码的底部添加了一行
window.mainloop()
,当我运行它并单击按钮时,它会按应有的方式重新启动。哦,对不起,最后当然会有一个mainloop函数(现在在问题中更改了它)。在我的情况下,我只得到以下信息:>>>>============================================================================================================================>>我希望原始窗口,即带有按钮的“测试”窗口再次出现!感谢你的帮助!我不想把它放在函数中的原因是,当我创建一个新函数时,我有很多代码会遇到麻烦。。。(我正在将GUI添加到一个已经完成的程序中)尽管如此,代码os.excel。。。。似乎将Shell与以前的所有函数分开。这几乎就像Shell正在重新启动,而没有其他任何东西。您是在IDE(例如IDLE或Anaconda)中还是在命令行中运行它?它可能在命令行中工作。