質問

私は時々エラーに遭遇するプログラムを書いています。それが行われると、それはユーザーに続行するかどうかを尋ねるTKINTERダイアログをポップアップします。これはより複雑なバージョンです:

keep_going = False
KeepGoingPrompt(keep_going)
if not keep_going:
    return

プロンプトセット keep_goingTrue またはそれを残します False。問題は、コードが続いているように見えることです KeepGoingPrompt 開いています。参照を保存してみました prompt ループを追加します

while prompt:
    time.sleep(1)

しかし、Pythonはループで立ち往生してフリーズします。それを行うためのより良い方法はありますか?

ありがとう

役に立ちましたか?

解決

tkmessageboxクラスを使用して、モーダルであり、ユーザーがボタンをクリックするまで戻らない質問ダイアログをポップアップできます。見る TKINTERブック 詳細については。

他のヒント

1)アイドル内でコードを実行していますか?実際にブロックする必要がある間に、対話を非ブロックする責任があるかもしれません。

2)アイドル外で実行するのが役に立たない場合は、動作がブロックしているか非ブロックかを指定するTKINTER/ダイアログオプションを探してください

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top