J'ai une fenêtre très simple où j'ai 2 boutons - un pour annuler, un pour appliquer. Comment définir le bouton pour appliquer par défaut? (Quand j'appuyez sur Entrée, le bouton « Appliquer » est pressé)Comment définir le bouton par défaut dans PyGTK?
Cependant, je veux mettre l'accent sur le premier widget d'entrée (je ne peux pas utiliser grab_focus() sur le bouton)
Toutes les suggestions?
Edit: Après wuub « s répondre à cela fonctionne visuellement bien. Cependant, quand j'appuie sur le bouton dans un widget différent, il ne lance pas le rappel du bouton par défaut.
code Exemple:
import os, sys, pygtk, gtk
def run(button, window):
dialog = gtk.MessageDialog(window, gtk.DIALOG_MODAL, gtk.MESSAGE_INFO, gtk.BUTTONS_OK, "OK")
dialog.run()
dialog.destroy()
window = gtk.Window()
window.connect("destroy", gtk.main_quit)
vbox = gtk.VBox(spacing = 10)
entry = gtk.Entry()
vbox.pack_start(entry)
button = gtk.Button(stock = gtk.STOCK_SAVE)
button.connect("clicked", run, window)
button.set_flags(gtk.CAN_DEFAULT)
window.set_default(button)
vbox.pack_start(button)
window.add(vbox)
window.show_all()
gtk.main()
EDIT2: Chaque entrée qui peut activer un widget par défaut doit être exécuté
widget.set_activates_default(True)