Как приостановить Python в то время как окно Tkinter открыто?
-
30-09-2019 - |
Вопрос
Я пишу программу, которая иногда встречает ошибку. Когда он делает, он всплывает диалог TKinter, спрашивая пользователя, следует ли продолжить. Это более сложная версия этого:
keep_going = False
KeepGoingPrompt(keep_going)
if not keep_going:
return
Оперативные наборы keep_going
к True
или оставляет его False
Отказ Проблема в том, что код, кажется, продолжается, пока KeepGoingPrompt
открыт. Я пытался хранить ссылку на prompt
и добавление петли, как
while prompt:
time.sleep(1)
Но Питон застрял в петле и замерзает. Есть ли лучший способ сделать это?
Спасибо
Решение
Вы можете использовать класс TKMessagebox для всплывающего диапазона вопроса, который является модальным и не вернется до тех пор, пока пользователь не нажмет кнопку. Видеть книга Tkinter. для деталей.
Другие советы
1) Вы запускаете свой код внутри простоя? Это может нести ответственность за то, что он не блокирует диалог, пока он действительно должен быть заблокирован.
2) Если запустить внешний простоя, не помогает, ищите параметры Tkinter / диалог, которые указывают, блокируют ли поведение или не блокирующее