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.

30
demandé sur tobias47n9e 2015-04-26 23:36:59

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.

16
répondu andlabs 2015-04-26 21:09:20

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.

0
répondu kenchoy 2018-05-14 16:33:04