我在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(...)调用此函数...

我不明白这个问题...

最佳答案

尝试打开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接口(interface)。
Gtk3及其所有依赖项均从源代码安装。

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

我只是使用gtk模式文件所在的路径设置XDG_DATA_DIRS变量,它可以正常工作。

$ 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/

10-07 19:16
查看更多