Serviceを読んで理解し、同意したものとみなします。スタック・オーバーフローはプログラマーとプログラミングに熱心な人のためのQ&Aサイトです。527件0python初学者です。cancel)によって異なる変数(True,False)を格納した後ウインドウが消えるプログラムを作成しようとしています。動きとしてはmessageboxのaskokcancelのような動きです。普通であればmessageboxを使う所なのですが、ハイパーリンクをダイアログ中に入れたかったので、以下のようにButtonで作成しております。本題ですが、このソースだと戻り値のbuffがどちらのボタンを押してもTrueのまま返ってきてしまいます。destroyした時点でBooleanVarへの格納は出来なくなってしまうようです。destroyを消すと戻り値はボタンに応じて変わるようになるのですが、当然フレームが消えません。これらを共存させるよい方法がありましたらご教示願えませんでしょうか。票1リファレンスを見る限り、そもそもコールバックはラムダ式を返すようなものではないようですが・・・。root.destroy()それからdestroyを消すと戻り値はボタンに応じて変わるようになるについて、destroyを消すと言うのがroot.destroy()をコメントアウトすることと等価であると仮定して、setしているコードは単にラムダ式の一部として返ってるだけなのであり得ないのでは?実際手元では再現しません。個の銅バッジ上の方法で解決しました。program_startの後に()を付けた場合の話でした。|回答スタック・オーバーフローに参加してくれて、ありがとうございます!質問の回答を共有してください。回答を説明し、自分の検討結果も共有してください。意見を述べること(意見を述べるなら、参照リソース、自分の経験で意見をサポートしてください)さらにサポートが必要な場合このヘルプを参考してください。“回答を投稿”をクリックすることで利用規約、プライバシーポリシー、及びクッキーポリシーに同意したものとみなされます。タグが付いた他の質問を参照するか、自分で質問をする。質問のフィードこのRSSフィードを購読するには、このURLをコピーしてRSSリーダーに貼り付けてください。