tkinter GUI フロントエンドを使用して Python でプログラムを作成しました。これがスクリプトから実行される場合、問題はありません。
cx_freeze を使用して exe ファイルにパッケージ化し、そこから実行すると、ほとんどのプログラムで動作します。ただし、問題がありStringVar
ます。関数の 1 つでオブジェクトに値を代入しようとすると、例外が発生してプログラムが強制終了されます。
プログラムの別のポイントから同じ関数にアクセスすると、正常に機能します。何が間違っている可能性がありますか?
問題を引き起こすコードのセクションは次のとおりです (メッセージボックスを追加して、何が失敗したかを確認しました)。
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"