GTK_图形化应用程序开发学习笔记(十三)―微调构件_第1页
GTK_图形化应用程序开发学习笔记(十三)―微调构件_第2页
GTK_图形化应用程序开发学习笔记(十三)―微调构件_第3页
GTK_图形化应用程序开发学习笔记(十三)―微调构件_第4页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

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. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论