Chinaunix首页 | 论坛 | 博客
  • 博客访问: 635640
  • 博文数量: 237
  • 博客积分: 4285
  • 博客等级: 上校
  • 技术积分: 2701
  • 用 户 组: 普通用户
  • 注册时间: 2009-11-15 14:05
文章分类

全部博文(237)

文章存档

2014年(2)

2013年(3)

2012年(47)

2011年(15)

2010年(68)

2009年(102)

我的朋友

分类: 嵌入式

2009-11-26 13:47:05

微调按纽构件(GtkSpinButton)通常用于让用户从一个取值范围内选择一个值。它由一个文本输入框和旁边的向上和向下两个按钮组成。点击某一个按钮会让文本输入框内的数值大

小在一定范围内改变。文本输入框也可以直接进行编辑。

微调按钮构件允许其中的数值没有小数位或具有指定的小数位,并且数值可以按一种可

配置的方式增加或减小。在按钮较长时间呈按下状态时,构件的数值会根据工具按下时间的

长短加速变化。

微调按钮用一个调整对象来维护该按钮能够取值的范围。微调按钮构件因此而具有了很

强大的功能。

       在创建微调按纽前需要先创建微调对象。函数gtk_adjustment_new可以创建微调对象。

 

1

名称:

gtk_adjustment_new

功能

创建微调对象

头文件

#include

函数原形

GtkObject *gtk_adjustment_new(gflost value, gfloat lower, gflost upper, gfloat step_increment, gfloat page_increment, gfloat page_size);

参数

value             微调按钮构件的初值

lower             构件允许的最小值

upper             构件允许的最大值

step_increment     当鼠标左键按下时构件一次增加/减小的值

page_increment     当鼠标右键按下时构件一次增加/减小的值

page_size          没有用到

返回值

微调对象

 

      

 

 

 

 

 

 

 

 

 创建好微调对象就可以创建微调按纽构件了,我们用gtk_spin_button_new函数来创建。

 

2

名称:

gtk_spin_button_new

功能

创建微调按纽构件

头文件

#include

函数原形

GtkWidget *gtk_spin_button_new(GtkAdjustment *adjustment, gfloat clim_rate, guint digits);

参数

adjustment         微调对象

clim_rate          构件变化的加速度

digits             显示数值的小数位

返回值

新的微调按纽构件

      

 

 

 

 

 

 其中clim_rate参数是介于0.01.0间的值,指明构件数值变化的加速度。参数digits指定要显示的值的小数位数。

 

下面是创建微调按纽的例子:

#include

 

int main(int argc,char *argv[ ])

{

GtkWidget *window;

GtkWidget *spin;

GtkWidget *box;

GtkWidget *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_adjustment_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);

 

gtk_widget_show(box);

gtk_widget_show(window);

gtk_main();

}

       程序运行后会得到如下界面:

 

3

名称:

gtk_spin_button_configure

功能

设置微调按纽构件

头文件

#include

函数原形

void *gtk_spin_button_configure(GtkSpinButton *spin_button, GtkAdjustment *adjustment, gfloat climb_rate, guint digits);

参数

spin_button        微调按纽构件

adjustment         微调对象

clim_rate          构件变化的加速度

digits             显示数值的小数位

返回值

     

 

 

 

 

 

 

 

  创建微调按纽构件之后,还可以用下面的函数对其重新配置,其中spin_button参数就是要重新配置的微调按纽构件。

 

4

名称:

gtk_spin_button_set_adjustment

adjustment

功能

设置/获取微调按纽构件使用的调整对象

头文件

#include

函数原形

void gtk_spin_button_set_adjustment( GtkSpinButton *spin_button, GtkAdjustment *adjustment ); /*设置*/

GtkAdjustment adjustment(GtkSpinButton *spin_button ); /*获得*/

参数

spin_button        微调按纽构件

adjustment         微调对象

返回值

调整对象

 

 

 

 

 

 

 

 

 

 

 

 

 

5

名称:

gtk_spin_button_set_digits

功能

修改显示数值的小数位

头文件

#include

函数原形

void gtk_spin_button_set_digits( GtkSpinButton *spin_button,guint digits) ;

参数

spin_button        微调按纽构件

digits             显示数值的小数位

返回值

      

 

 

 

阅读(725) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~