保存某个widget的指针,以后你可以使用lookup_widget()通过该widget的名字获得它的指针
usecase:
GtkWidget*
lookup_widget (GtkWidget *widget,
const gchar *widget_name)
但是对它的第一个参数GtkWidget *widget 还是有点不理解
void
new_connect_set_adsl (GtkButton *button,
gpointer user_data)
{
GtkWidget *entry_connect_name;
entry_connect_name = lookup_widget (GTK_WIDGET(button), "entry_connect_name");
strcpy(connect_name, gtk_entry_get_text (GTK_ENTRY(entry_connect_name)));
....
}
这样是可以实现取得"entry_connect_name"的指针
or
请确认将控件加入了WINDOW的DATA链表,如下列代码:
gtk_widget_set_name (GTK_WIDGET(widget), widgetname);
gtk_widget_ref (GTK_WIDGET(widget));
gtk_object_set_data_full (GTK_OBJECT(window), widgetname,
widget,
(GtkDestroyNotify) gtk_widget_unref);
在查询时,你只要加入WIDGET所在窗口的任一控件指针和要查询WIDGET的WIDGETNAME即可。
请仔细看一下lookup_widget()函数的代码,应该可以的。。。
阅读(2172) | 评论(0) | 转发(0) |