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 ...
随机推荐
- P1558 色板游戏
P1558 色板游戏 题目背景 阿宝上学了,今天老师拿来了一块很长的涂色板. 题目描述 色板长度为L,L是一个正整数,所以我们可以均匀地将它划分成L块1厘米长的小方格.并从左到右标记为1, 2, .. ...
- table 样式美化
1. 单像素边框CSS表格 这是一个很常用的表格样式. 源代码: <!-- CSS goes in the document HEAD or added to your external sty ...
- day20 GUI(Graphics User Interface)
顶层容器:JWindow.JFrame.JDialge.JAsplet JFrame,默认布局是边界布局 JFrame的内容面板是:Container. 面板容器:JPanel,默认布局是流布局. 布 ...
- UIKit类图
- MacBook Air网络问题
自从买了本本之后,一直觉得无线网连接不能正常使用,最开始觉得是网络不给力,因为图标都没有满格.后来搬家,网速家里的window,iphone设备都能正常使用,就我的mac 本本图标显示满格,但是网页打 ...
- C++的一些不错开源框架,可以学习和借鉴
from https://www.cnblogs.com/charlesblc/p/5703557.html [本文系外部转贴,原文地址:http://coolshell.info/c/c++/201 ...
- Coffeescript的安装与编译
安装 npm install -g coffee-script 在cmd中输入coffee可以进入coffeescript的命令行模式(REPL),然而到我写完这篇博文为止,我觉得这并没有什么卵用 C ...
- 样式缩写——css技巧(一)
一.margin和padding缩写 例: .sample-margin1{ margin-top:15px; margin-right:20px; margin-bottom:12px; margi ...
- noip2012 P1081 开车旅行
小 A 和小 B 决定利用假期外出旅行,他们将想去的城市从 1 到 N 编号,且编号较小的城市在编号较大的城市的西边,已知各个城市的海拔高度互不相同,记城市 i 的海拔高度为Hi,城市 i 和城市 j ...
- boost 时间
利用boost来获取当前时间又方便快捷,还不用考虑跨平台的问题. 1. 输出YYYYMMDD [cpp] view plaincopy #include <boost/date_time/gre ...