分享

GTK:微调构件

 217小月月坑 2015-02-09

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

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

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

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

长短加速变化。

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

强大的功能。

       在创建微调按纽前需要先创建微调对象。函数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             微调按钮构件的初值

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 *adjustment, gfloat clim_rate, guint digits);

参数

adjustment         微调对象

clim_rate          构件变化的加速度

digits             显示数值的小数位

返回值

新的微调按纽构件

      

 

 

 

 

 

 

 

 

 

 

 

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

 

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

#include <gtk/gtk.h>

 

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();

}

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

 

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章