Windows 打开文件选择器对话框时出现Glib GIO错误

Windows 打开文件选择器对话框时出现Glib GIO错误,windows,runtime-error,glib,gtk3,glade,Windows,Runtime Error,Glib,Gtk3,Glade,我在Windows7中使用GTK3、codeblcks IDE、glade3 在我的应用程序中,我有一个按钮,单击该按钮时会打开一个gtk文件选择器对话框。。。 但是给出了填充错误 Glib GIO错误**:系统上未安装GSettings架构 static void on_save_clicked(GtkWidget *widget,gpointer data) { GtkWidget *dialog; //dialog=gtk_file_chooser_dialog_new("Save it"

我在Windows7中使用GTK3、codeblcks IDE、glade3

在我的应用程序中,我有一个按钮,单击该按钮时会打开一个gtk文件选择器对话框。。。 但是给出了填充错误

Glib GIO错误**系统上未安装GSettings架构

static void on_save_clicked(GtkWidget *widget,gpointer data)
{
GtkWidget *dialog;
//dialog=gtk_file_chooser_dialog_new("Save it",GTK_WINDOW(gtk_builder_get_object(builder,"mainwindow")),GTK_FILE_CHOOSER_ACTION_SAVE,GTK_STOCK_OK,GTK_RESPONSE_OK,GTK_STOCK_CANCEL,GTK_RESPONSE_CANCEL);
//dialog=GTK_FILE_CHOOSER_DIALOG(gtk_builder_get_object(builder,"filechooserdialog"));
gtk_widget_show_all(dialog);
gint resp=gtk_dialog_run(GTK_DIALOG(dialog));
if(resp==GTK_RESPONSE_OK)
g_print("%s\n",gtk_file_chooser_get_filename(GTK_FILE_CHOOSER(dialog)));
}
我使用g_signal_connect(…)在单击按钮时调用此函数


我无法理解这个问题…

其中可能有一些错误

  • 如果您对这两个都进行了注释,dialog.show_all()将产生错误,因为您要求显示的对话框尚未实例化
  • 如果使用第一个参数,object Gtk.FileChooserDialog参数必须以NULL结尾(在c中),请读取文档
  • 如果使用第二个,请在glade窗口中检查glade signal属性
  • 检查您的gtk安装

  • 我在尝试打开FileChooser对话框时遇到了同样的错误

    (lancer_ihm.py:1047004): GLib-GIO-CRITICAL **: g_settings_schema_source_lookup: assertion 'source != NULL' failed (lancer_ihm.py:1047004): GLib-GIO-ERROR **: No GSettings schemas are installed on the system Trace/breakpoint trap (core dumped) (lancer_ihm.py:1047004):GLib GIO CRITICAL**:g_设置_模式_源(lookup:assertion'source!=“NULL”失败 (lancer_ihm.py:1047004):GLib GIO错误**:系统上未安装GSettings架构 跟踪/断点陷阱(堆芯转储) 我正在Linux上用python3运行Gtk3接口。 Gtk3及其所有依赖项都是从源代码处安装的

    我在这个论坛上找到了解决方案

    我只是将XDG_DATA_DIRS变量与gtk模式文件所在的路径一起设置,它可以工作

    $ ls /home/user1/ctcils/dusserm/applications/gtk/3.12.1/share/glib-2.0/schemas/ gschemas.compiled org.gtk.exampleapp.gschema.xml org.gtk.Settings.FileChooser.gschema.xml org.gtk.Demo.gschema.xml org.gtk.Settings.ColorChooser.gschema.xml $ export XDG_DATA_DIRS=/Produits/publics/x86_64.Linux.RH6/glib/2.40.0/share/:/home/user1/ctcils/dusserm/applications/gtk/3.12.1/share/ $ls/home/user1/ctcils/dusserm/applications/gtk/3.12.1/share/glib-2.0/schemas/ gschemas.compiled org.gtk.exampleapp.gschema.xml org.gtk.Settings.FileChooser.gschema.xml org.gtk.Demo.gschema.xml org.gtk.Settings.ColorChooser.gschema.xml $export XDG_DATA_DIRS=/Produits/publics/x86_64.Linux.RH6/glib/2.40.0/share/:/home/user1/ctcils/dusserm/applications/gtk/3.12.1/share/ 引用

    看来你不是那个有这个问题的人,而且是的。幸运的是,那个人给出了一个解决方案:

    当我运行测试小部件示例时,我发现 我需要编译
    org.gtk.Settings.FileChooser.gschema.xml
    文件(来自gtk+-3.x,在
    $(srcroot)/gtk
    )使用来自glib的
    glib编译模式
    实用程序, 将在同一文件夹中生成
    gschemas.compiled

    然后,将
    gschemas.compiled
    文件放入此文件夹中:
    $(gtk3\U dll的父文件夹)\share\glib-2.0\schemas
    其中一个将被设置为使用gtkfilechooser而不会出现令人费解的问题

    [GLib GIO错误**:设置架构'org.gtk.Settings.FileChooser' 未安装]错误

    我将添加到我的GLib项目文件中,以编译
    GLib编译模式
    实用工具并添加到我的GTK+-3.x项目文件中,以编译 org.gtk.Settings.FileChooser.gschema.xml


    我忘了提到…当使用任何注释行时,错误都会显示这两个时间…转到此页面: