使用ex从tkinter(GUI)执行文件

2024-09-30 20:38:22 发布

您现在位置:Python中文网/ 问答频道 /正文

我使用的是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”按钮时,它就不起作用了。在


Tags: py命令read错误guiopen按钮users
1条回答
网友
1楼 · 发布于 2024-09-30 20:38:22

我从来没见过有人用exec编写回调函数和gui,所以我不能告诉你它为什么不工作。在

你应该把result0.py中的代码放到一个类或函数中, 这样您就可以简单地导入函数/类并在回调中使用它

假设下面的代码是result0.py

import tkinter as tk
import tkinter.ttk as ttk

class SomeWindow(tk.Toplevel):
    def __init__(self, parent):
        tk.Toplevel.__init__(self, parent)
        lab1 = ttk.Label(self, text='hihihi')
        lab1.pack()
        lab2 = tkt.Label(self, text='fdsfsfds')
        lab2.pack()

现在在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的大多数文档和教程仍然适用。在

相关问题 更多 >