我使用的是python3.4.2,windows8.1,有一个GUI“reload 0.py”,当我按下一个按钮时,它将两个值相加,并在一个框中显示结果。我有另一个带按钮的GUI“reload1.py”。当我按下“reload1.py”中的按钮时,我想打开“reload0.py”。在
我在按钮里用这个
exec(open("C:\\Users\\me\\Desktop\\rel\\reload0.py").read())
但是我得到了以下错误
^{pr2}$如果我单独运行“reload0.py”就可以了,如果我把这个命令放在pythonshell中,它就可以工作了,但是当我把同一个命令放到“reload1.py”按钮时,它就不起作用了。在
我从来没见过有人用exec编写回调函数和gui,所以我不能告诉你它为什么不工作。在
你应该把result0.py中的代码放到一个类或函数中, 这样您就可以简单地导入函数/类并在回调中使用它
假设下面的代码是result0.py
现在在result1.py中导入SomeWindow并将其绑定到回调
^{pr2}$如果您刚刚开始使用gui编程,那么您可能需要了解一下model-view-controller(MVC)设计模式
{a1}
一些很好的参考文献是:
http://effbot.org/tkinterbook/
http://infohost.nmt.edu/tcc/help/pubs/tkinter/web/index.html
https://docs.python.org/3/library/tkinter.html#module-tkinter
tkinter 8.6也于2015年3月发布,但8.5的大多数文档和教程仍然适用。在
相关问题 更多 >
编程相关推荐