Python - 我怎么能基本上"重启"我的节目?

时间:2014-03-12 23:27:58

标签: python python-2.7 tkinter refresh

我被困在这几天了。我喜欢Stack Overflow,我已经将它用作一个巨大的帮助工具。我知道你想让这个问题对一大群潜在的访问者负责并且有帮助,所以我希望这很好。

我有一个QuizEditor程序。我做了一个测验游戏,作为一个CLI完美无缺,我的编辑也是如此。然而,将它移植到GUI奇怪地比我原先预期的要困难得多。您可以在这里找到qt001.py(quizTest001.py)和问题列表qtquest.dat,它们非常大:

Quiz Editor GUIQuestion List

我的问题是:我怎样才能重新启动"应用程序?如果您下载文件并自己试用,请按"编辑"改变一些东西,然后按" SAVE"。它出现了,你需要重新启动应用程序才能查看更改。如何制作它,以便您甚至不需要手动重启应用程序,它自己完成。这是StackOverflow上的一个常见问题我已经注意到并且我尝试了很多修复:

1 2 3 4

还有更多。我很沮丧。我已经破坏了topLevel窗口,我已经销毁并重新启动了root,导入了应用并重新加载(qt001),尝试重新运行 init 等等。我觉得这个过程很简单,我错过了一些东西。

任何帮助都非常,非常感谢。 非常感谢, 乔。

编辑:文件中的print语句用于调试;当我运行updateDisplay()时,它打印quizList数组,我看到已经进行了更改。然而,视觉效果没有改变 - 输入框,单选按钮,除非应用程序关闭并重新打开,否则它们是相同的。

1 个答案:

答案 0 :(得分:0)

重新启动该计划,您需要做的就是导入os& sys&然后在你的saveQuestion方法中写:

python = sys.executable
os.execl(python, python, * sys.argv)

注意:在调用此函数之前,必须执行任何清除操作(如保存数据)。

信用转到Gribouillis