建立gtklist以及radio的关键代码片断

 /*建立gtklist的关键代码片断,以及建立单选按钮的关键代码片断*/

/*建立gtk_list*/
GtkWidget *gtk_list;
gtk_list = gtk_list_new();
gtk_widget_show(gtk_list);

 

/*添加3个列表项标签方法1*/
GtkWidget *listitem;

listitem = gtk_list_item_new_with_label("first");
gtk_container_add(GTK_CONTAINER(listbox), listitem);
gtk_widget_show(listitem);

listitem = gtk_list_item_new_with_label("second");
gtk_container_add(GTK_CONTAINER(listbox), listitem);
gtk_widget_show(listitem);

listitem = gtk_list_item_new_with_label("third");
gtk_container_add(GTK_CONTAINER(listbox), listitem);
gtk_widget_show(listitem);

 

/*添加3个列表项标签的方法2*/
GtkListItem *listitem;
GList *items = NULL;
GList *copy = NULL;

listitem = gtk_list_item_new_with_label("first");
gtk_widget_show(listitem);
items = g_list_append(items, listitem);

listitem = gtk_list_item_new_with_label("second");
gtk_widget_show(listitem);
items = g_list_append(items, listitem);

listitem = gtk_list_item_new_with_label("third");
gtk_widget_show(listitem);
items = g_list_append(items, listitem);

/*添加到gtklist中的glist实际不用释放,但是那样不太好(需要实践看看)
*所以拷贝一份,然后把原来的释放。
*/
copy = g_list_copy(items);
g_list_free(memorylist);
memorylist = NULL;
gtk_list_append_items(GTK_LIST(gtk_list), copy);


/*添加三个checkbutton*/
GtkWidget  *check;
GtkListItem *listitem;

check = gtk_check_button_new_with_label("first");
listitem = gtk_list_item_new();
gtk_container_add(GTK_CONTAINER(listitem), check);
gtk_container_add(GTK_CONTAINER(gtklist), listitem);

check = gtk_check_button_new_with_label("second");
listitem = gtk_list_item_new();
gtk_container_add(GTK_CONTAINER(listitem), check);
gtk_container_add(GTK_CONTAINER(gtklist), listitem);

check = gtk_check_button_new_with_label("third");
listitem = gtk_list_item_new();
gtk_container_add(GTK_CONTAINER(listitem), check);
gtk_container_add(GTK_CONTAINER(gtklist), listitem);

 

 

/*建立radiobutton的片断*/
/*
步骤:
1,建立链表(表示一个单选按钮组)。
2,列表作为建立单选按钮函数的参数(表示该单选按钮属于这个链表组)。
3,单选按钮加到容器。
4,显示单选按钮。
*/
GSList group = NULL;
GtkWidget *radio;
GtkWidget *box;

radio = gtk_radio_button_new_with_label(group, "first");
gtk_box_pack_start(GTK_BOX(box), radio, TRUE, TRUE, 5);
group = gtk_radio_button_group(GTK_RADIO_BUTTON(radio));//得到链表首

radio = gtk_radio_button_new_with_label(group, "second");
gtk_box_pack_start(GTK_BOX(box), radio, TRUE, TRUE, 5);
group = gtk_radio_button_group(GTK_RADIO_BUTTON(radio));

radio = gtk_radio_button_new_with_label(group, "third");
gtk_box_pack_start(GTK_BOX(box), radio, TRUE, TRUE, 5);
group = gtk_radio_button_group(GTK_RADIO_BUTTON(radio));

...
/*连接radio的信号*/
g_signal(radio, "toggled", G_CALLBACK(...), NULL);

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值