Comme toute autre fenêtre de dialogue, ils vous demandent à
- Utilisez la méthode run.
- Faire usage du signal « Reponse »
Le premier bloquera la boucle principale et sera de retour dès que la boîte de dialogue reçoit une réponse, cela peut être, cliquez sur un bouton dans la zone d'action ou appuyez sur Esc, ou appelez la méthode de réponse du dialogue ou "détruire" la fenêtre, les derniers ne signifient pas que la fenêtre sera détruite, cela signifie que la méthode run() quittera et retournera une réponse. comme ceci:
response = dialog.run()
Si vous utilisez un débogueur, vous remarquerez que la boucle principale reste jusqu'à ce que vous cliquez sur un bouton ou d'essayer de fermer la boîte de dialogue. Une fois que vous avez reçu votre réponse, vous pouvez l'utiliser comme vous le souhaitez.
response = dialog.run()
if response == gtk.RESPONSE_OK:
#do something here if the user hit the OK button
dialog.destroy()
La seconde vous permettra d'utiliser la boîte de dialogue dans une substance non-bloquant, alors vous devez connecter votre dialogue au signal « réponse ».
def do_response(dialog, response):
if response == gtk.RESPONSE_OK:
#do something here if the user hit the OK button
dialog.destroy()
dialog.connect('response', do_response)
, vous remarquez Maintenant que vous devez détruire votre boîte de dialogue
Il travaille, et je pense avoir une meilleure compréhension de la façon dont tout cela fonctionne, merci encore pour votre aide. – wodemoneke
Quelqu'un peut-il me dire comment faire une fenêtre à propos de montrer quand je clique sur un bouton "à propos" dans ruby glade? –
Cela fonctionne également dans l'API Python GTK + 3, à compter du 9 août 2017. – silviubogan