Domanda

Sto scrivendo un programma che a volte si verifica un errore. Quando lo fa, si apre una finestra di dialogo che chiede all'utente Tkinter se continuare. Si tratta di una versione più complicata di questo:

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

I set di prompt keep_going a True o foglie è False. Il problema è che il codice sembra continuare mentre KeepGoingPrompt è aperto. Ho provato memorizzare un riferimento al prompt e aggiungendo un ciclo come

while prompt:
    time.sleep(1)

ma pitone si blocca nel ciclo e si blocca. C'è un modo migliore per farlo?

Grazie

È stato utile?

Soluzione

È possibile utilizzare la classe tkMessageBox ad apparire una finestra di domanda che è modale e non tornerà fino a quando l'utente fa clic su un pulsante. Vedere il Tkinter libro per i dettagli.

Altri suggerimenti

1) sono in esecuzione il codice all'interno IDLE? Potrebbe essere responsabile per rendere il dialogo non bloccante, mentre in realtà dovrebbe essere bloccando.

2) Se in esecuzione esterna libera non aiuta, cercare le opzioni tkinter / dialogo che specificano se il comportamento sta bloccando o non bloccante

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top