2010-11-29 8 views
1

gtk.Builder.connect_signals() émet un RuntimeWarning lorsqu'un gestionnaire de signal n'est pas présent:Attraper PyGTK RuntimeWarning sur gtk.Builder.connect_signals

__init__.py:16: RuntimeWarning: missing handler 'on_window_destroy' 
    self.builder.connect_signals(self) 

Comment puis-je l'empêcher de délivrer l'avertissement et la poignée moi-même ?

Je voudrais l'avertissement de ne pas être imprimé (sans que l'utilisateur conduit à/dev/null)

Note: Je ne demande pas ce que les moyens d'avertissement, plutôt comment gérer le type d'avertissement de comme si c'était une exception, pour le moment, il semble qu'un message à stderr est la seule chose qui arrive, je ne peux pas faire grand-chose avec ça dans le programme.

Répondre

1

Vous pouvez utiliser the warnings module.

Cependant, dans ce cas, je pense qu'il serait plus facile de vérifier la valeur de retour de connect_signals. De the documentation:

De plus, s'il y a au moins un tel gestionnaire manquant, connect_signals renvoie une liste de leurs noms, sinon la valeur de retour est Aucun.

+0

C'est exactement ce que je cherchais, je ne peux pas croire que je n'ai jamais vu le module d'avertissement. Cependant, j'ai clarifié la question maintenant; Je ne voudrais pas voir l'avertissement que pygtk imprime automatiquement. –

+0

J'ai travaillé dessus, j'utilise maintenant des 'avertissements' pour faire des exceptions d'avertissement et juste les attraper - merci beaucoup! –