我有一个用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
字段,但警告仍然出现。
答案 0 :(得分:18)
您可以通过将GtkDialog设为父模式来修复此警告。相关函数是gtk_window_set_transient_for()
(将此窗口设置为始终位于其上,或瞬态,另一个)和可选gtk_window_set_modal()
以使其成为模态对话框。这最终是各种GtkDialog构造函数的作用。
答案 1 :(得分:1)
改用GtkWindow;仅当有父窗口/对话框时才使用GtkDialog。