下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、GTK+图形化应用程序开发学习笔记(十三)微调构件GTK+图形化应用程序开发学习笔记(十三)微调构件 GTK+图形化应用程序开发学习笔记(十三)微调构件 微调按纽构件(GtkSpinButton通常用于让用户从一个取值范围内选择一个值。它由一个文本输入框和旁边的向上和向下两个按钮组成。点击某一个按钮会让文本输入框内的数值大 小在一定范围内改变。文本输入框也可以直接进行编辑。 微调按钮构件允许其中的数值没有小数位或具有指定的小数位,并且数值可以按一种可 配置的方式增加或减小。在按钮较长时间呈按下状态时,构件的数值会根据工具按下时间的 长短加速变化。 微调按钮用一个调整对象来维护该按钮能够取值的范
2、围。微调按钮构件因此而具有了很 强大的功能。 在创建微调按纽前需要先创建微调对象。函数gtk_adjustment_new可以创建微调对象。 1 名称:: gtk_adjustment_new 功能: 创建微调对象 头文件: #include <gtk/gtk.h> 函数原形: GtkObject *gtk_adjustment_new(gflost value, gfloat lower, gflost upper, gfloat step_increment, gfloat page_increment, gfloat page_size; 参数: value 微调按钮构件的初
3、值 lower 构件允许的最小值 upper 构件允许的最大值 step_increment 当鼠标左键按下时构件一次增加/减小的值 page_increment 当鼠标右键按下时构件一次增加/减小的值 page_size 没有用到 返回值: 微调对象 创建好微调对象就可以创建微调按纽构件了,我们用gtk_spin_button_new函数来创建。 2 名称:: gtk_spin_button_new 功能: 创建微调按纽构件 头文件: #include <gtk/gtk.h> 函数原形: GtkWidget *gtk_spin_button_new(GtkAdjustment *
4、adjustment, gfloat clim_rate, guint digits; 参数: adjustment 微调对象 clim_rate 构件变化的加速度 digits 显示数值的小数位 返回值: 新的微调按纽构件 其中clim_rate参数是介于0.0和1.0间的值,指明构件数值变化的加速度。参数digits指定要显示的值的小数位数。 下面是创建微调按纽的例子: #include <gtk/gtk.h> int main(int argc,char *argv GtkWidget *window; GtkWidget *spin; GtkWidget *box; Gtk
5、Widget *label; GtkObject *adjustment; gtk_init(&argc,&argv; window=gtk_window_new(GTK_WINDOW_TOPLEVEL; gtk_signal_connect(GTK_OBJECT(window,”destroy”,G_CALLBACK(gtk_main_quit,NULL; box=gtk_hbox_new(FALSE,10; /*创建组装盒*/ gtk_container_add(GTK_CONTAINER(window,box; /*将组装盒加入窗体*/ adjustment=gtk_ad
6、justment_new(2007,1900,2100,1,1,0; /*创建微调对象*/ spin=gtk_spin_button_new(GTK_ADJUSTMENT(adjustment,0.5,0; /*创建微调按纽*/ gtk_box_pack_start(GTK_BOX(box,spin ,TRUE,TRUE,5; /*将微调按纽加入组装盒*/ gtk_widget_show(spin; label=gtk_label_new(“年”; gtk_box_pack_start(GTK_BOX(box,label,TRUE,TRUE,0; gtk_widget_show(label;
7、gtk_widget_show(box; gtk_widget_show(window; gtk_main(; 程序运行后会得到如下界面: 3 名称:: gtk_spin_button_configure 功能: 设置微调按纽构件 头文件: #include <gtk/gtk.h> 函数原形: void *gtk_spin_button_configure(GtkSpinButton *spin_button, GtkAdjustment *adjustment, gfloat climb_rate, guint digits; 参数: spin_button 微调按纽构件 adj
8、ustment 微调对象 clim_rate 构件变化的加速度 digits 显示数值的小数位 返回值: 无 创建微调按纽构件之后,还可以用下面的函数对其重新配置,其中spin_button参数就是要重新配置的微调按纽构件。 4 名称:: gtk_spin_button_set_adjustment adjustment 功能: 设置/获取微调按纽构件使用的调整对象 头文件: #include <gtk/gtk.h> 函数原形: void gtk_spin_button_set_adjustment( GtkSpinButton *spin_button, GtkAdjustmen
9、t *adjustment ; /*设置*/ GtkAdjustment adjustment(GtkSpinButton *spin_button ; /*获得*/ 参数: spin_button 微调按纽构件 adjustment 微调对象 返回值: 调整对象 5 名称:: gtk_spin_button_set_digits 功能: 修改显示数值的小数位 头文件: #include <gtk/gtk.h> 函数原形: void gtk_spin_button_set_digits( GtkSpinButton *spin_button,guint digits ; 参数: s
10、pin_button 微调按纽构件 digits 显示数值的小数位 返回值: 无 6 名称:: gtk_spin_button_set_value 功能: 修改当前显示构件的数值 头文件: #include <gtk/gtk.h> 函数原形: void gtk_spin_button_set_value( GtkSpinButton *spin_button, gfloat value ; 参数: spin_button 微调按纽构件 value 当前显示构件的数值 返回值: 无 7 名称:: gtk_spin_button_get_value_as_float gtk_spin_
11、button_get_value_as_int 功能: 获得微调按纽构件的当前值 头文件: #include <gtk/gtk.h> 函数原形: gfloat gtk_spin_button_get_value_as_float( GtkSpinButton *spin_button ; gint gtk_spin_button_get_value_as_int( GtkSpinButton *spin_button ; 参数: spin_button 微调按纽构件 返回值: 微调按纽构件的当前值 微调按纽构件的当前值可以以整数或浮点数的形式获得。 gfloat gtk_spin_
12、button_get_value_as_float以浮点数的形式获得微调按纽构件的当前值。 gint gtk_spin_button_get_value_as_int以整型的形式获得微调按纽构件的当前值。 我们对上面的程序稍加改动得到如下程序: #include <gtk/gtk.h> GtkWidget *spin; void button_event(GtkWidget *widget, gpointer *data; int main(int argc,char *argv GtkWidget *window; GtkWidget *box; GtkWidget *label
13、; GtkObject *adjustment; gtk_init(&argc,&argv; window=gtk_window_new(GTK_WINDOW_TOPLEVEL; gtk_signal_connect(GTK_OBJECT(window,”destroy”,G_CALLBACK(gtk_main_quit,NULL; box=gtk_hbox_new(FALSE,10; /*创建组装盒*/ gtk_container_add(GTK_CONTAINER(window,box; /*将组装盒加入窗体*/ adjustment=gtk_adjustment_new(
14、2007,1900,2100,1,1,0; /*创建微调对象*/ spin=gtk_spin_button_new(GTK_ADJUSTMENT(adjustment,0.5,0; /*创建微调按纽*/ gtk_box_pack_start(GTK_BOX(box,spin,TRUE,TRUE,5; /*将微调按纽加入组装盒*/ gtk_widget_show(spin; label=gtk_label_new(“年”; gtk_box_pack_start(GTK_BOX(box,label,TRUE,TRUE,0; gtk_widget_show(label; button=gtk_but
15、ton_new_with_label(“确定”; gtk_box_pack_start(GTK_BOX(box,button,TRUE,TRUE,0; gtk_signal_connect(GTK_OBJECT(button,”clicked”,GTK_SIGNAL_FUNC(button_event,NULL; gtk_widget_show(button; gtk_widget_show(box; gtk_widget_show(window; gtk_main(; void button_event(GtkWidget *widget,gpointer *data gint year; year=gtk_spin_button_get_value_as_int(GTK_SPIN_BUTTON(spin;/*获得微调按纽的当前值*/ g_print(“Year:%d”,year; 程序运行后会得到如下界面: 当用户按“确定”按纽时相应的年份就会输出到屏幕上。 8 名称:: gtk_spin_button_set_wrap 功能: 限制微调按纽构件的
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年西南计算机有限责任公司招聘21人备考题库及一套参考答案详解
- 医院行政岗位面试问题及答案
- 制造业系统管理员面试题及答案
- 2025年南京航空航天大学经济与管理学院工作人员招聘备考题库及答案详解参考
- 媒体行业财务规划与预算面试题及答案
- 技术支持助理面试题及答案
- 影视制作公司制片人招聘题目详解
- 2025年贵州铝业集团高校毕业生招聘备考题库(一)及完整答案详解1套
- 劳动争议调解员考核标准
- 面试题集四川机场规划师岗位面试题及答案解析
- 2025云南省人民检察院招聘22人笔试考试备考试题及答案解析
- 骏马奔腾启新程盛世华章谱未来-2026年马年学校元旦主持词
- 22863中级财务会计(一)机考综合复习题
- 油漆车间年终总结
- 2025年甘肃省水务投资集团有限公司招聘企业管理人员笔试考试参考试题及答案解析
- 广东省六校2025-2026学年高二上学期12月联合学业质量检测语文试题(含答案)
- 2025年10月自考07180广播播音主持试题及答案
- 乡村康养项目申请书
- 2025秋期版国开电大本科《心理学》一平台形成性考核练习1至6在线形考试题及答案
- GB/T 17215.302-2013交流电测量设备特殊要求第2部分:静止式谐波有功电能表
- 《天津市建设工程监理服务计费规则》-排附2-8
评论
0/150
提交评论