11

我用 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"

4

0 回答 0