Подтвердить что ты не робот

Невозможно установить значение с помощью tkinter/python script при использовании cxfreeze

Я написал программу на 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"

4b9b3361

Ответ 1

См. выше описание проблемы. Ошибка не была:/этот раздел кода.