我用Python编写了一个带有tkinter GUI前端的程序。从脚本运行时没有问题。
我使用cx_freeze将它打包到exe文件中,并从那里运行它适用于大多数程序。但是,它有一个问题:当尝试为其中一个函数中的StringVar
对象赋值时,会引发异常并终止该程序。
当从程序中的不同点访问相同的功能时,它正常运行。知道什么可能是错的吗?
导致问题的代码部分如下(我添加了消息框,以便我可以看到它失败的原因):
if keyDetail.get('default', False):
try:
self.entries[key].set(keyDetail['default'])
except Exception as err:
messagebox.showinfo('error', 'key: %s, default: %s, error: %s'%(key, keyDetail['default'], err))
self.entries[key]
是tk.StringVar
。
运行此操作时,我会在消息框中收到以下消息:
key: orderNo, default: Order Number, error: can't set "PY_VAR16:0"
答案 0 :(得分:0)
有关问题的说明,请参见上文。错误不是:/这部分代码。