Je travaille sur une application graphique, et au début de la course, je voudrais poser une seule question à l'utilisateur. Le cadre graphique (Panda3D) a des boîtes de dialogue par défaut moche, donc je voudrais utiliser quelque chose comme tkInter pour fournir une boîte de dialogue modale. J'ai essayé ceci:récupérer le clavier de tkinter
import Tkinter
import tkMessageBox
root = Tkinter.Tk()
# hide the root window
root.withdraw()
config.PLAY_MUSIC = tkMessageBox.askyesno("My App",
"Would you like this app to play music from your iTunes collection?")
root.destroy()
Ce fait ce que je veux, mais il semble acheminer tous les autres événements de clavier à tkinter plutôt que mon application Panda3D. Je n'ai pas besoin de faire quoi que ce soit d'autre avec tk après ce dialogue.
Je peux mettre la boîte de dialogue tk dans une application distincte qui s'enchaîne sur la mienne, je suppose, mais je me demande s'il existe un moyen de tuer tk et récupérer le clavier sans quitter complètement mon application.
Mise à jour: Essayé root.quit(), qui semble récupérer le clavier, mais je reçois une erreur "Fatal Python error: PyEval_RestoreThread: NULL tstate" à la sortie de mon programme, ce qui n'est pas idéal.
Même résultat que root.quit(), mais merci quand même. –