我怎样才能使用gtk_window_set_transient_for()?
How can I use gtk_window_set_transient_for ()?
我正在使用库 gtkmm。我的代码几乎是完美的,我认为是因为它可以编译并且我可以执行它。但是在终端中,当我点击打开我用 gtkmm 制作的软件中的文件时,我可以看到这条消息:
Gtk-Message: GtkDialog mapped without a transient parent. This is discouraged.
所以我在这个论坛上寻找如何解决它,我知道我必须使用这个方法:gtk_window_set_transient_for()。
其实我有一个Gtk::Window和一个Gtk::FileChooserDialog。你能举一个使用 gtk_window_set_transient_for() 的例子吗?
非常感谢!
Gtk::FileChooserDialog
和其他 GTK+ 对话源自 Gtk::Window
。 Gtk::Window
有方法 set_transient_for(Gtk::Window &parent);
,如果没有设置,它会给你你看到的消息。
要解决此问题,需要使用 set_transient_for(Gtk::Window &)
。请注意,这需要引用而不是指针。所以你会像这样使用它。
{
Gtk::Window first_window;
...
Gtk::FileChooserDialog file_dialog("Title");
...
file_dialog.set_transient_for(first_window);
...
}
也可以为与构造函数的对话设置瞬态window。像这样。
{
Gtk::Window first_window;
...
Gtk::FileChooserDialog file_dialog(first_window, "Title");
...
}
如果 first_window
是指针,则您需要这样做。
file_dialog.set_transient_for(*first_window);
我正在使用库 gtkmm。我的代码几乎是完美的,我认为是因为它可以编译并且我可以执行它。但是在终端中,当我点击打开我用 gtkmm 制作的软件中的文件时,我可以看到这条消息:
Gtk-Message: GtkDialog mapped without a transient parent. This is discouraged.
所以我在这个论坛上寻找如何解决它,我知道我必须使用这个方法:gtk_window_set_transient_for()。
其实我有一个Gtk::Window和一个Gtk::FileChooserDialog。你能举一个使用 gtk_window_set_transient_for() 的例子吗?
非常感谢!
Gtk::FileChooserDialog
和其他 GTK+ 对话源自 Gtk::Window
。 Gtk::Window
有方法 set_transient_for(Gtk::Window &parent);
,如果没有设置,它会给你你看到的消息。
要解决此问题,需要使用 set_transient_for(Gtk::Window &)
。请注意,这需要引用而不是指针。所以你会像这样使用它。
{
Gtk::Window first_window;
...
Gtk::FileChooserDialog file_dialog("Title");
...
file_dialog.set_transient_for(first_window);
...
}
也可以为与构造函数的对话设置瞬态window。像这样。
{
Gtk::Window first_window;
...
Gtk::FileChooserDialog file_dialog(first_window, "Title");
...
}
如果 first_window
是指针,则您需要这样做。
file_dialog.set_transient_for(*first_window);