GtkDialog映射没有临时父级

tob*_*n9e 38 gtk pygtk glade pygobject

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

Gtk-Message: GtkDialog mapped without a transient parent. This is discouraged.
Run Code Online (Sandbox Code Playgroud)

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

and*_*abs 20

你通过给GtkDialog一个父模型来修复这个警告.相关函数gtk_window_set_transient_for()(将此窗口设置为始终位于另一个窗口的顶部或瞬态),并可选择gtk_window_set_modal()使其成为模态对话框.这最终是各种GtkDialog构造函数的作用.

  • 我的应用程序只是对话框,没有"主窗口".我应该传递给这个函数的是什么? (6认同)