Chinaunix首页 | 论坛 | 博客
  • 博客访问: 2031710
  • 博文数量: 433
  • 博客积分: 918
  • 博客等级: 准尉
  • 技术积分: 3218
  • 用 户 组: 普通用户
  • 注册时间: 2012-02-24 18:21
个人简介

你是不是暗恋我,那就给我发个消息呀,让我知道o(∩∩)o

文章分类

全部博文(433)

分类: LINUX

2012-12-19 21:01:22

http://blog.csdn.net/aladdin_wang/article/details/1912406


我对Cdll不太了解。于是,我选择先做界面。

    由于VPR的参数比较多,全部放在一个窗口内,显得比较杂乱。所以,我决定采用notebook容器,它可以将控件放在多个page内显示,用户可以使用tab标签选择相应的page.

    Gtknotebook最常用的函数如下

l        GtkWidget *gtk_notebook_new( void );

这个函数的作用是新建一个notebook构件。

一旦创建了笔记本构件,就可以使用一系列的函数操作该构件。下面将对它们进行分别讨论。

先看一下怎样定位页面指示器或称页标签,可以有四种位置:上、下、左或右。

l        void gtk_notebook_set_tab_pos( GtkNotebook     *notebook,

                               GtkPositionType  pos );

       GtkPositionType参数可以取以下几个值,从字面上很容易理解它们的含义:

         GTK_POS_LEFT

         GTK_POS_RIGHT

         GTK_POS_TOP

         GTK_POS_BOTTOM

       GTK_POS_TOP是缺省值。

       下面看一下怎样向笔记本中添加页面。有三种方法向笔记本中添加页面。前两种方法是非常相似的。

 

l        void gtk_notebook_append_page( GtkNotebook *notebook,

                               GtkWidget   *child,

                               GtkWidget   *tab_label );

 

l        void gtk_notebook_prepend_page( GtkNotebook *notebook,

                                GtkWidget   *child,

                                GtkWidget   *tab_label );

这些函数通过向插入页面到笔记本的后端(append)或前端(prepend)来添加页面。child是放在笔记本页面里的子构件,tab_label是要添加的页面的标签。child构件必须另外创建,一般是一个包含一套选项设置的容器构件,比如一个表格。

最后一个添加页面的函数与前两个函数类似,不过允许指定页面插入的位置。

l        void gtk_notebook_insert_page( GtkNotebook *notebook,

                               GtkWidget   *child,

                               GtkWidget   *tab_label,

                               gint         position );

 

其中的参数与_append__prepend_函数一样,还包含一个额外参数,position。该参数指定页面应该插入到哪一页。注意,第一页位置为0

前面介绍了怎样添加一个页面,下面介绍怎样从笔记本中删除一个页面。

l        void gtk_notebook_remove_page( GtkNotebook *notebook,

                               gint         page_num );

 

这个函数从notebook指定的笔记本中删除由page_num参数指定的页面。

 用这个函数找出笔记本的当前页面:

l        gint gtk_notebook_get_current_page( GtkNotebook *notebook );

 

下面两个函数将笔记本的页面向前或向后移动。对要操作的笔记本构件使用以下函数就可以了。注意:当笔记本正在最后一页时,调用 gtk_notebook_next_page() 函数,笔记本会跳到第一页。同样,如果笔记本在第一页,调用了函数 gtk_notebook_prev_page(),笔记本构件会跳到最后一页。

 

l        void gtk_notebook_next_page( GtkNoteBook *notebook );

 

l        void gtk_notebook_prev_page( GtkNoteBook *notebook );

 

下面这个函数设置活动页面。比如你想笔记本的第5页被打开,你将使用这个函数。不使用这个函数时笔记本默认显示第一页。

l            void gtk_notebook_set_current_page( GtkNotebook *notebook,

                                    gint         page_num );

 

关于notebook我所用到的函数就这么多了。界面部分,我还用到了GtkFrame,可以起到分栏的效果。简单介绍一下frameAPI吧。

)框架可以用下面的函数创建:

l         GtkWidget *gtk_frame_new( const gchar *label );

 

标签缺省放在框架的左上角。传递NULL值作为label参数时,框架不显示标签。标签文本可以用下面的函数改变。

l         void gtk_frame_set_label( GtkFrame    *frame,                           const gchar *label );  

标签的位置可以用下面的函数改变:

l         void gtk_frame_set_label_align( GtkFrame *frame,                                 gfloat    xalign,                                 gfloat    yalign ); xalignyalign参数取值范围介于0.01.0之间。xalign指定标签在框架构件上部水平线上的位置。yalign目前还没有被使用。xalign的缺省值是0.0,它将标签放在框架构件的最左端。   差不多我所用到的函数我都列在上面了。
阅读(2672) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~