【发布时间】:2013-12-21 07:51:52
【问题描述】:
我没有找到在另一个 python.py 文件中保持变量定义/可调用的方法 使用“exec”之后。
这是我使用 pyqt 所做的事情: 我想执行一段更大的代码和 所以我使用“exec”来保持我的“gui程序”与我的“计算程序”分开
...gui. stuff...
if self.checkbox.checkState(): #"checkbox" = label of a checkboy in QTDesigner
x=14
exec(open("./calculation_where_x_used.py").read())
def onClose(self): # this is a button on my gui. labelled "Close"
print("bye")
self.close()
当我在 gui 中选中一个复选框后运行它时。代码做了它应该做的事情,但是“calculation_where_x_used.py”中定义的所有类型的矩阵和变量都不能再通过shell调用......
我该如何解决这个问题? PS:我使用 Spyder as 和 Python 3.3
【问题讨论】:
-
你试过将 globals() 传递给 exec 吗?
-
您熟悉
import语句吗?这是在单独的文件中使用代码的更惯用的方式。
标签: python user-interface pyqt qt-designer