今天看了下单选按钮的设置,实现起来还是挺简单的,就是自己太不熟练

    radio=gtk_radio_button_new_with_label(NULL,"a");            //第一次创建单选按钮,第一个参数应为NULL
g_signal_connect(GTK_OBJECT(radio),"clicked",GTK_SIGNAL_FUNC(click_radio),"a"); //设置点击按钮调用的函数和传递的参数
gtk_box_pack_start(GTK_BOX(box),radio,TRUE,TRUE,); //将按钮加入box这个容器,设置可以扩展和填充,与前一控件间隔为0 //group = gtk_radio_button_group(GTK_RADIO_BUTTON(radio)); //第二次创建按钮,需要先将之前的按钮加入到一个group中
//radio = gtk_radio_button_new_with_label(group,"b"); //然后向这个组中添加新的按钮 radio=gtk_radio_button_new_with_label_from_widget(GTK_RADIO_BUTTON(radio),"b"); //上面两句可以用这一句来代替,作用相同,只不过不用创建组 g_signal_connect(GTK_OBJECT(radio),"clicked",GTK_SIGNAL_FUNC(click_radio),"b"); //设置点击按钮调用的函数和传递的参数
gtk_box_pack_start(GTK_BOX(box),radio,TRUE,TRUE,); //将其加入容器中

其中gtk_radio_button_new_with_label(GSList *group,const gchar *label)第一个参数的类型为GSList *,如果第一次创建按钮,这个参数值为NULL,之后每次创建,都需要用这个函数GSList *gtk_radio_button_get_group( GtkRadioButton *radio_button )创建一个组,并把前一个按钮作为参数。返回的参数在传给下一个调用的gtk_radio_button_new_with_label(),这样才能建立联系在一起的单选按钮。如上面的1到6行。

还有一种方法,是代码第8行显示的方法,它不需要一个列表来将按钮储存在一起。

还有一种方法,代码中没有贴出来,直接给出来吧,button2=gtk_radio_button_new_with_label_from_widget( GTK_RADIO_BUTTON (button1), "button2");直接用前一个按钮作为参数,这样也能把全部按钮联系起来。

还有一个函数,设置哪个按钮被默认按下void gtk_toggle_button_set_active( GtkToggleButton *toggle_button, gboolean state );

好了,继续好好努力吧,加油!!!!

最新文章

  1. RecyclerView解密篇(二)
  2. Objective-c的@property(atomic,nonatomic,readonly,readwrite,assign,retain,copy,getter,setter) 属性特性
  3. 滤镜与CSS3效果
  4. help和dir函数
  5. Qt之QCustomPlot(图形库)
  6. unity,standalone下自定义分辨率不起作用的解法
  7. jQuery对象与Dom对象的相互转换
  8. Android(java)学习笔记245:ContentProvider使用(银行数据库创建和增删改查的案例)
  9. 为采集动态网页安装和测试Python Selenium库
  10. android媒体--图库与API层MediaPlayer的交互
  11. Gradle 修改 Maven 仓库地址(转)
  12. 使用express创建新应用的骨架
  13. 2017-06-22初识python
  14. Linux iptables设置
  15. CentOS6.x下,tomcat - web项目部署
  16. c++将lambda作为callback函数
  17. C# winfrom 当前程序内存读取和控制
  18. mysqldump 用法
  19. 将windows上.net core 发布的程序部署到linux(ubantu等)上
  20. 《廖雪峰Git教程》学习笔记

热门文章

  1. python中的常用模块
  2. Redis学习一:Nosql入门和概述
  3. LintCode 388: Kth Permutation
  4. Bzoj3352 [ioi2009]旅行商
  5. BZOJ3994 约数个数和
  6. 【转】C#中PrintDocument类详解
  7. 基于Django-Cookie的CBV和FBV的用户验证装饰器
  8. C# 图片和Base64之间的转换
  9. 苹果手机浏览器$(document).on(“click”,function(){})点击无效的问题
  10. 阿里云CentOS下安装jdk