web-dev-qa-db-fra.com

GtkDialog mappé sans parent transitoire

J'ai une interface graphique intégrée dans Glade (3.18) qui est appelée par un programme Python 3 (en utilisant PyGObject). Je reçois beaucoup d'avertissements lors de l'exécution du programme (Fedora 21) qui dit:

Gtk-Message: GtkDialog mapped without a transient parent. This is discouraged.

Comment puis-je résoudre cet avertissement? J'ai essayé de remplir le champ Transient for: main_window dans Glade pour toutes les fenêtres de dialogue, mais les avertissements apparaissent toujours.

35
tobias47n9e

Vous corrigez cet avertissement en donnant à GtkDialog un parent sur lequel modaliser. Les fonctions pertinentes sont gtk_window_set_transient_for() (qui définit cette fenêtre comme toujours au-dessus de, ou transitoire pour, une autre) et éventuellement gtk_window_set_modal() pour en faire une dialogue modal. C'est finalement ce que font les différents constructeurs de GtkDialog.

19
andlabs

Utilisez plutôt GtkWindow; et utilisez un GtkDialog uniquement lorsqu'il existe une fenêtre/un dialogue parent.

1
kenchoy