问题描述
我使用 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 (将#修改为@)