gtk+学习笔记(四)
2024-09-26 01:56:41
今天看了下单选按钮的设置,实现起来还是挺简单的,就是自己太不熟练
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 );
好了,继续好好努力吧,加油!!!!
最新文章
- RecyclerView解密篇(二)
- Objective-c的@property(atomic,nonatomic,readonly,readwrite,assign,retain,copy,getter,setter) 属性特性
- 滤镜与CSS3效果
- help和dir函数
- Qt之QCustomPlot(图形库)
- unity,standalone下自定义分辨率不起作用的解法
- jQuery对象与Dom对象的相互转换
- Android(java)学习笔记245:ContentProvider使用(银行数据库创建和增删改查的案例)
- 为采集动态网页安装和测试Python Selenium库
- android媒体--图库与API层MediaPlayer的交互
- Gradle 修改 Maven 仓库地址(转)
- 使用express创建新应用的骨架
- 2017-06-22初识python
- Linux iptables设置
- CentOS6.x下,tomcat - web项目部署
- c++将lambda作为callback函数
- C# winfrom 当前程序内存读取和控制
- mysqldump 用法
- 将windows上.net core 发布的程序部署到linux(ubantu等)上
- 《廖雪峰Git教程》学习笔记
热门文章
- python中的常用模块
- Redis学习一:Nosql入门和概述
- LintCode 388: Kth Permutation
- Bzoj3352 [ioi2009]旅行商
- BZOJ3994 约数个数和
- 【转】C#中PrintDocument类详解
- 基于Django-Cookie的CBV和FBV的用户验证装饰器
- C# 图片和Base64之间的转换
- 苹果手机浏览器$(document).on(“click”,function(){})点击无效的问题
- 阿里云CentOS下安装jdk