gtk+学习笔记(四)
今天看了下单选按钮的设置,实现起来还是挺简单的,就是自己太不熟练
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 );
好了,继续好好努力吧,加油!!!!
gtk+学习笔记(四)的更多相关文章
- C#可扩展编程之MEF学习笔记(四):见证奇迹的时刻
前面三篇讲了MEF的基础和基本到导入导出方法,下面就是见证MEF真正魅力所在的时刻.如果没有看过前面的文章,请到我的博客首页查看. 前面我们都是在一个项目中写了一个类来测试的,但实际开发中,我们往往要 ...
- IOS学习笔记(四)之UITextField和UITextView控件学习
IOS学习笔记(四)之UITextField和UITextView控件学习(博客地址:http://blog.csdn.net/developer_jiangqq) Author:hmjiangqq ...
- java之jvm学习笔记四(安全管理器)
java之jvm学习笔记四(安全管理器) 前面已经简述了java的安全模型的两个组成部分(类装载器,class文件校验器),接下来学习的是java安全模型的另外一个重要组成部分安全管理器. 安全管理器 ...
- Learning ROS for Robotics Programming Second Edition学习笔记(四) indigo devices
中文译著已经出版,详情请参考:http://blog.csdn.net/ZhangRelay/article/category/6506865 Learning ROS for Robotics Pr ...
- Typescript 学习笔记四:回忆ES5 中的类
中文网:https://www.tslang.cn/ 官网:http://www.typescriptlang.org/ 目录: Typescript 学习笔记一:介绍.安装.编译 Typescrip ...
- ES6学习笔记<四> default、rest、Multi-line Strings
default 参数默认值 在实际开发 有时需要给一些参数默认值. 在ES6之前一般都这么处理参数默认值 function add(val_1,val_2){ val_1 = val_1 || 10; ...
- muduo网络库学习笔记(四) 通过eventfd实现的事件通知机制
目录 muduo网络库学习笔记(四) 通过eventfd实现的事件通知机制 eventfd的使用 eventfd系统函数 使用示例 EventLoop对eventfd的封装 工作时序 runInLoo ...
- python3.4学习笔记(四) 3.x和2.x的区别,持续更新
python3.4学习笔记(四) 3.x和2.x的区别 在2.x中:print html,3.x中必须改成:print(html) import urllib2ImportError: No modu ...
- Go语言学习笔记四: 运算符
Go语言学习笔记四: 运算符 这章知识好无聊呀,本来想跨过去,但没准有初学者要学,还是写写吧. 运算符种类 与你预期的一样,Go的特点就是啥都有,爱用哪个用哪个,所以市面上的运算符基本都有. 算术运算 ...
- 零拷贝详解 Java NIO学习笔记四(零拷贝详解)
转 https://blog.csdn.net/u013096088/article/details/79122671 Java NIO学习笔记四(零拷贝详解) 2018年01月21日 20:20:5 ...
随机推荐
- LINUX的文件按时间排序
转载 2014年12月29日 00:49:23 20298 > ls -alt # 按修改时间排序 > ls --sort=time -la # 等价于> ls -alt > ...
- tp5.1 insert 返回id, 不等于符号
$insertId = Db::name('user_address')->insertGetId($data); //add=>insert, insert 返回值不再是插入的id; i ...
- python的if条件语句的语法和案例
1.条件语句 缩进用4个空格 if条件: #条件成功, else: #条件不成功 if条件:{ #条件成功, #条件成功, }else{ #条件不成功, #条件不成功, } if的语法就是这样或者是用 ...
- npm 5.4.2 更新后就不能用了
今天刚,npm run dev 就出现更新提示,没多想就更了, 更新用了49S,下来npm 的所以命令包一个semer的插件 ... 最后下载新node 8.5覆盖安装, 就解决了, node 8.5 ...
- python---基础知识回顾(七)迭代器和生成器
前戏:迭代器和生成器 迭代: 如果给定一个list或tuple,我们可以通过for循环来遍历这个list或tuple,这种遍历我们称为迭代(Iteration). Python的for循环不仅可以用在 ...
- 数据结构编程实验——chapter9-应用二叉树的基本概念编程
二叉树是树结构中的重要概念,一些特殊的二叉树如满二叉树和完全二叉树由于节点序号的特殊关系,在一些算法中十分常见. 这篇文章将从三个方面介绍有关二叉树的知识点: (1) 普通有序树转化为二叉树. ( ...
- Machine Learning Trick of the Day (1): Replica Trick
Machine Learning Trick of the Day (1): Replica Trick 'Tricks' of all sorts are used throughout machi ...
- 2014年最佳的10款 PHP 开发框架
PHP去年发生了翻天覆地的变化.似乎每个人都有一个想法一个好的框架应该是什么样子,但话又说回来,没有多少面积制品类型的框架或框架的最终实际使用在不同的生产项目. 你知道哪个框架选择为您的生产计划吗?你 ...
- 2017中国大学生程序设计竞赛 - 网络选拔赛 1004 HDU 6153 A Secret (字符串处理 KMP)
题目链接 Problem Description Today is the birthday of SF,so VS gives two strings S1,S2 to SF as a presen ...
- Node程序debug小记
有时候,所见并不是所得,有些包,你需要去翻他的源码才知道为什么会这样. 背景 今天调试一个程序,用到了一个很久之前的NPM包,名为formstream,用来将form表单数据转换为流的形式进行接口调用 ...