免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 2310 | 回复: 4
打印 上一主题 下一主题

【求】全选按钮的实现方法 [复制链接]

论坛徽章:
6
酉鸡
日期:2013-11-04 15:30:02巳蛇
日期:2014-01-23 10:36:23双鱼座
日期:2014-01-23 13:08:332015亚冠之鹿岛鹿角
日期:2015-09-03 14:36:002015亚冠之武里南联
日期:2015-09-18 10:48:1315-16赛季CBA联赛之山西
日期:2016-05-05 00:05:33
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2012-12-04 14:04 |只看该作者 |倒序浏览

是这样,在一个页面上有一排checkbutton

我想在下面或者在上面再做一个toggle button,实现全选的功能

具体就是,单击选中toggle button的时候,下面的checkbutton就自动全被选中了

再单击toggle button的时候,下面的checkbutton就是初始状态,未被选中的

求大神给个实现方法或者思路,谢谢

论坛徽章:
6
酉鸡
日期:2013-11-04 15:30:02巳蛇
日期:2014-01-23 10:36:23双鱼座
日期:2014-01-23 13:08:332015亚冠之鹿岛鹿角
日期:2015-09-03 14:36:002015亚冠之武里南联
日期:2015-09-18 10:48:1315-16赛季CBA联赛之山西
日期:2016-05-05 00:05:33
2 [报告]
发表于 2012-12-04 15:11 |只看该作者
UP一下,别沉了啊

论坛徽章:
6
酉鸡
日期:2013-11-04 15:30:02巳蛇
日期:2014-01-23 10:36:23双鱼座
日期:2014-01-23 13:08:332015亚冠之鹿岛鹿角
日期:2015-09-03 14:36:002015亚冠之武里南联
日期:2015-09-18 10:48:1315-16赛季CBA联赛之山西
日期:2016-05-05 00:05:33
3 [报告]
发表于 2012-12-04 19:31 |只看该作者
  1. #include <gtk/gtk.h>

  2. void
  3. toggle_title (GtkWidget * widget, gpointer checkbutton)
  4. {
  5.   if (gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (widget)))
  6.     {
  7.           gtk_widget_set_sensitive(checkbutton, TRUE);
  8.     }
  9.   else
  10.     {
  11.           gtk_widget_set_sensitive(checkbutton, FALSE);
  12.     }
  13. }

  14. int
  15. main (int argc, char **argv)
  16. {

  17.   GtkWidget *window;
  18.   GtkWidget *frame;
  19.   GtkWidget *check;
  20.   GtkWidget *checkbutton;

  21.   gtk_init (&argc, &argv);

  22.   window = gtk_window_new (GTK_WINDOW_TOPLEVEL);
  23.   gtk_window_set_position (GTK_WINDOW (window), GTK_WIN_POS_CENTER);
  24.   gtk_window_set_default_size (GTK_WINDOW (window), 230, 150);
  25.   gtk_window_set_title (GTK_WINDOW (window), "GtkCheckButton");


  26.   frame = gtk_fixed_new ();
  27.   gtk_container_add (GTK_CONTAINER (window), frame);


  28.   check = gtk_check_button_new_with_label ("Show 1111111111");
  29.   gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (check), TRUE);
  30.   GTK_WIDGET_UNSET_FLAGS (check, GTK_CAN_FOCUS);
  31.   gtk_fixed_put (GTK_FIXED (frame), check, 50, 50);

  32.   checkbutton = gtk_check_button_new_with_label ("1111111111");
  33.   gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (check), FALSE);
  34.   gtk_widget_set_sensitive(checkbutton, FALSE);
  35.   GTK_WIDGET_UNSET_FLAGS (checkbutton, GTK_CAN_FOCUS);
  36.   gtk_fixed_put (GTK_FIXED (frame), checkbutton, 50, 100);
  37.   
  38.   g_signal_connect_swapped (window, "destroy", G_CALLBACK (gtk_main_quit), NULL);

  39.   g_signal_connect (check, "clicked", G_CALLBACK (toggle_title), (gpointer) checkbutton);

  40.   gtk_widget_show_all (window);

  41.   gtk_main ();

  42.   return 0;
  43. }
复制代码
大概是这个意思。。。

- -!

论坛徽章:
0
4 [报告]
发表于 2012-12-06 14:35 |只看该作者
这是自问自答么

论坛徽章:
6
酉鸡
日期:2013-11-04 15:30:02巳蛇
日期:2014-01-23 10:36:23双鱼座
日期:2014-01-23 13:08:332015亚冠之鹿岛鹿角
日期:2015-09-03 14:36:002015亚冠之武里南联
日期:2015-09-18 10:48:1315-16赛季CBA联赛之山西
日期:2016-05-05 00:05:33
5 [报告]
发表于 2012-12-06 17:25 |只看该作者
回复 4# lrita


    你也可以这么认为
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP