it-swarm.com.de

GtkDialog wird ohne transientes übergeordnetes Element zugeordnet

In Glade (3.18) ist eine GUI integriert, die von einem Python 3-Programm (mit PyGObject) aufgerufen wird. Beim Ausführen des Programms (Fedora 21) werden viele Warnungen ausgegeben:

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

Wie kann ich diese Warnung beheben? Ich habe versucht, das Feld auszufüllen Transient for: main_window in Glade für alle Dialogfenster, aber die Warnungen werden weiterhin angezeigt.

35
tobias47n9e

Sie beheben diese Warnung, indem Sie dem GtkDialog ein übergeordnetes Element zuweisen, für das Modalität besteht. Die relevanten Funktionen sind gtk_window_set_transient_for() (wodurch festgelegt wird, dass dieses Fenster immer über oder transient für, einem anderen Fenster) und optional gtk_window_set_modal(), um es zu einem modaler Dialog. Dies ist letztendlich das, was die verschiedenen GtkDialog-Konstruktoren tun.

19
andlabs

Verwenden Sie stattdessen ein GtkWindow. Verwenden Sie einen GtkDialog nur, wenn ein übergeordnetes Fenster/Dialogfeld vorhanden ist.

1
kenchoy