長文を短くすると、私は学校向けの対話型 GUI (tkinter) ワード ゲーム プログラムを作成しています。最初はすべてが順調に進んでいましたが、コードを完成させた後、実行すると予期しない動作をするようになりました。一部のダイアログ ボックス (特に
if tkinter.messagebox.askyesno():
こと) ユーザーの入力を待つのではなく、ただちに「いいえ」オプションで自分自身に答えます。場合によっては、ウィンドウが完全に閉じて、プログラム全体が終了することがあります。ただし、これらのエラーはすべて同じです (つまり、tkinter ウィンドウが閉じる/応答する/プログラムを停止する前にプログラムを停止する) が、通常は毎回異なる場所で発生します。tkinterが他のコード内で何度もネスト、オープン、再オープン、クローズされているという事実と関係があるかどうかはわかりません.私の知る限り。
私のコードの一部には、while ループが含まれています。それが mainloop() に干渉するかどうかはわかりませんが、ユーザーが必要なだけゲームを繰り返すことができるようにする別の方法が見つかりませんでした。
この質問はあいまいであることは承知していますが、主にヒントを探しています.異なるセクションに分割して少し整理すると診断が容易になるか、while ループの代替案を見つけたかなどです。
ありがとう!
TKinter ダイアログは完全に完了し、コードの次のセクションに進む前に結果を保存する必要があります。
ダイアログにすべての引数を指定してください (この例にはパラメーターが含まれていません)。
result = tkinter.messagebox.askyesno('Confirm', 'Do you want to do this')
if result == true:
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加