GtkDialog映射没有临时父级

时间:2015-04-26 20:37:00

标签: gtk pygtk glade pygobject

我有一个用Glade(3.18)构建的GUI,它由Python 3程序(使用PyGObject)调用。我在运行程序(Fedora 21)时会收到很多警告:

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

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

2 个答案:

答案 0 :(得分:18)

您可以通过将GtkDialog设为父模式来修复此警告。相关函数是gtk_window_set_transient_for()(将此窗口设置为始终位于其上,或瞬态,另一个)和可选gtk_window_set_modal()以使其成为模态对话框。这最终是各种GtkDialog构造函数的作用。

答案 1 :(得分:1)

改用GtkWindow;仅当有父窗口/对话框时才使用GtkDialog。