Я написал программу на Python с интерфейсом GUI tkinter. Когда это выполняется из script, проблем нет.
Я упаковал его с помощью 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"