GtkDialog 在没有瞬态父对象的情况下映射

GtkDialog mapped without a transient parent

我有一个内置于 Glade (3.18) 中的 GUI,它由 Python 3 程序(使用 PyGObject)调用。当 运行 程序 (Fedora 21) 说:

时,我收到很多警告
Gtk-Message: GtkDialog mapped without a transient parent. This is discouraged.

如何修复此警告?我尝试在 Glade 中为所有对话框 windows 填写字段 Transient for: main_window,但警告仍然出现。

您可以通过为 GtkDialog 提供模态父项来修复此警告。相关函数是 gtk_window_set_transient_for()(它设置这个 window 总是在上面,或者 transient for ,另一个)和可选的 gtk_window_set_modal() 到使它成为模态对话框。这最终就是各种 GtkDialog 构造函数所做的。

改用 GtkWindow;并仅在有父级 window/dialog.

时使用 GtkDialog