11

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"

4

0 に答える 0