【问题标题】:Glib-GIO-ERROR when opening an file chooser dialog打开文件选择器对话框时出现 Glib-GIO-ERROR
【发布时间】:2014-06-23 15:58:09
【问题描述】:

我在 Windows 7 中使用 GTK3、codeblcks IDE、glade3...

在我的应用程序中,我有一个按钮,单击该按钮应打开 gtk_file_chooser_dialog... 但给出了填充错误..

Glib-GIO-ERROR**系统上未安装 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(...) 调用此函数...

我无法理解问题...

【问题讨论】:

标签: windows runtime-error glib gtk3 glade


【解决方案1】:

我在尝试打开 FileChooserDialog 时遇到了同样的错误。

(lancer_ihm.py:1047004):GLib-GIO-CRITICAL **:g_settings_schema_source_lookup:断言'source!= NULL'失败 (lancer_ihm.py:1047004): GLib-GIO-ERROR **: 系统上没有安装 GSettings 模式 跟踪/断点陷阱(核心转储)

我正在 Linux 上运行带有 python3 的 Gtk3 接口。 Gtk3 及其所有依赖项都是从源代码安装的。

我在这个论坛http://forum.tinycorelinux.net/index.php?topic=13699.0找到了解决方案

我只是将 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/

【讨论】:

    【解决方案2】:

    那里可能很少有错误。

    1. 如果你同时评论了这两个, dialog.show_all () 将产生错误,因为它还没有被实例化,还没有你要求显示。
    2. 如果使用第一个,对象 Gtk.FileChooserDialog 参数必须以 NULL 结尾(在 c 中),请阅读文档
    3. 如果您使用第二个,请在您的空地窗口中检查您的空地信号属性
    4. 检查您的 gtk 安装

    【讨论】:

      【解决方案3】:

      引用this StackOverflow answer

      看来你不是遇到这个问题的人,它also happens on Windows on MinGW。幸运的是,那个人给出了解决方案:

      事情,就像我在运行测试小部件示例(我 使用 MSVC 用 gtksourceview-3.0.0 构建),是我需要编译 org.gtk.Settings.FileChooser.gschema.xml 文件(来自 GTK+-3.x,在 $(srcroot)/gtk) 与来自 GLib 的 glib-compile-schemas 实用程序, 这将在同一文件夹中生成gschemas.compiled

      之后,将 gschemas.compiled 文件放在此文件夹中: $(parent_folder_of_the_gtk3_dll)\share\glib-2.0\schemas 并且将设置为使用 gtkfilechooser 而不会令人费解

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

      我将添加到我的 GLib 项目文件中以编译 glib-compile-schemas 实用程序并添加到我的 GTK+-3.x 项目文件以编译 org.gtk.Settings.FileChooser.gschema.xml 很快。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2021-08-31
        • 1970-01-01
        • 2018-01-12
        • 2014-07-13
        • 2021-12-24
        • 2013-04-19
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多