我试图弄清楚如何使用Tkinter重新启动python程序。基本上,当用户单击重新启动按钮时,程序应关闭所有现有的Tkinter选项卡并“重新启动”程序。我该怎么办?
这是我目前正在做的
scrollable bar chart
答案 0 :(得分:0)
通常我会说您应该将整个代码放在一个循环中,但是tkinter打破了这一点,所以我建议的解决方案是非常不干净的。另外两个简单的脚本可与此脚本一起运行。
第一个是一个简单的多进程,类似于使用多进程通过另一个进程运行当前脚本/应用程序的方式。
然后将其添加到您在此处完成的功能的末尾以重新启动程序:
f = open("restart.txt", "w+")
f.write("true")
f.close()
exit() #or however you choose to end your program after destroying the roots
这是脚本/应用程序的开始(在完成其他操作之前,除了导入内容):
r = open("restart.txt", "w+")
r.write("false")
r.close()
最后,在第三个脚本中,添加一个简单的循环:
x = 5
while x = 5:
f = open("restart.txt", "r+")
restart = f.read()
if restart == "true":
#run your application/script
else:
f.close()
此操作的目标是运行您的应用程序,并同时运行此简单循环。当您想重新启动程序时,可以将文本文件更新为“ true”并关闭程序,然后简单的循环将再次运行您的程序,这会将值更改为false并阻止打开程序的无限窗口。我怀疑这是最好的解决方案,也不是您想要的,但它应该“重新启动”您的程序。