Как приостановить Python в то время как окно Tkinter открыто?

StackOverflow https://stackoverflow.com/questions/3938549

Вопрос

Я пишу программу, которая иногда встречает ошибку. Когда он делает, он всплывает диалог 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 / диалог, которые указывают, блокируют ли поведение или не блокирующее

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top