微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

C中的gtk2:文件选择器过滤器的小部件

如何解决C中的gtk2:文件选择器过滤器的小部件

我使用 gtk_file_chooser_dialog_new 构建了一个文件选择器。然后我在文件选择器中添加了一些文件过滤器。如何将 changed signal 连接到过滤器?

阅读源代码后,过滤器是结构体gtk combo Box 中名为filter_combo_GtkFileChooserDefault 小部件。但似乎 _GtkFileChooserDefault 是在内部使用的。我找不到如何连接小部件 filter_combo

file_selector = gtk_file_chooser_dialog_new("Save \"result of seismic load of NZ - 1170 \" File",(GtkWindow *)parent_window,GTK_FILE_CHOOSER_ACTION_SAVE,GTK_STOCK_CANCEL,GTK_RESPONSE_CANCEL,GTK_STOCK_SAVE,GTK_RESPONSE_ACCEPT,NULL);

filter = gtk_file_filter_new();
gtk_file_filter_set_name(filter,"TXT Files (*.txt)");
gtk_file_filter_add_pattern(filter,"*.txt");
gtk_file_chooser_add_filter(GTK_FILE_CHOOSER(file_selector),filter);

filter = gtk_file_filter_new();
gtk_file_filter_set_name(filter,"TEX Files (*.tex)");
gtk_file_filter_add_pattern(filter,"*.tex");
gtk_file_chooser_add_filter(GTK_FILE_CHOOSER(file_selector),filter);
gtk_file_chooser_set_filter(GTK_FILE_CHOOSER(file_selector),filter);

/* user widget */
entry = make_check_button ("Output by ULS and SLS table",2);
/* I want to connect "changed singal" with the filter,but I Failed.
 * the error is `'GtkWidget' {aka 'struct _GtkWidget'} has no member named 'filter_combo'`
 */
g_signal_connect((GtkFileChooser *)(file_selector)->filter_combo,"changed",G_CALLBACK(filter_changed),entry);

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。