1

这是代码..

Glib::RefPtr<Gio::File> file = Gio::File::create_for_path(filepath);
Gtk::AppChooserDialog *dialog = new Gtk::AppChooserDialog(file, *this);

if ( dialog->run() == Gtk::RESPONSE_OK ) {
    Glib::RefPtr<Gio::AppInfo> appinfo = dialog->get_app_info();
    appinfo->launch(file);
}
dialog->hide();

这是我在执行上述代码时收到的消息..

glibmm-WARNING **: Glib::ConstructParams::ConstructParams(): object class "gtkmm__GtkAppChooserDialog" has no property named "file"

我可能在这里犯了一个愚蠢的错误。谁能帮我这个?提前致谢..

4

1 回答 1

0

好吧,在 gtk-3.0 中,没有名为“file”的 GtkAppChooserDialog 属性,但有一个名为“gfile”的属性。这似乎是gtkmm 包装中的一个错误,其中“文件”在适当的 _CONSTRUCT() 调用中应该是“gfile”(当前为第 38 和 44 行),但我没有足够的包装理解来确定。如果这是问题所在,我看不到不修补 gtkmm 的简单解决方法。

更新:这是包装中的一个错误

于 2012-06-14T20:35:07.487 回答