Gtkdialog cartographié sans parent transitoire
j'ai une interface graphique construite dans Glade (3.18) qui est appelée par un programme Python 3 (en utilisant PyGObject). Je reçois beaucoup d'avertissements quand j'exécute le programme (Fedora 21) qui disent:
Gtk-Message: GtkDialog mapped without a transient parent. This is discouraged.
Comment puis-je corriger 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.
2 réponses
vous corrigez cet avertissement en donnant au GtkDialog un parent pour être modal. Les fonctions pertinentes sont gtk_window_set_transient_for()
(ce qui permet à cette fenêtre d'être toujours au-dessus de, ou transitoire pour, un autre) et éventuellement gtk_window_set_modal()
pour en faire un dialogue modal. C'est finalement ce que font les différents constructeurs GtkDialog.
utilisez une fenêtre GtkWindow à la place; et n'utilisez une fenêtre GtkDialog que lorsqu'il y a une fenêtre/boîte de dialogue parent.