GTK-课程设计用到的函数
- GtkBox
-
函数原形:
void gtk_box_pack_start(GtkBox *box,GtkWidget *child,gboolean expend,gboolean fill,guint padding);
void gtk_box_pack_end(GtkBox *box,GtkWidget *child,gboolean expend,gboolean fill,guint padding);
参数:
box 组装盒的名称
child 子构件的名称
expend 构件周围是否还有可扩充的空间
fill 构件是否需要充分利用构件周围空间
padding 构件周围要保留多少个填充的像元
返回值:
无
函数gtk_box_pack_start将构件放在顶部(对于纵向组装盒)或左边(对于横向组装盒。函数gtk_box_pack_end将构件放在底部(对于纵向组装盒)或右边(对于横向组装盒)。
gtk_box_paxk_start和gtk_box_pack_end有5个参数,其中3个参数用来确定如何将构件放在组装盒内。
expand参数表示在所有构件加入组装盒以后,构件周围是否还有可扩充的空间。如果用homogenous格式建立组装盒,则忽略这一参数。因为homegeneous参数表示构件在组装盒内使用同样大小的空间。
fill参数表示构件是否需要充分利用构件周围空间。将此参数设置为TRUE允许构件稍稍扩大一点,以充分利用组装盒分配给它的空间。将此参数设置为FALSE强制构件只使用它需要的空间。多余的空间围绕构件的周围分布。
padding参数表示在构件周围要保留多少个填充的像元。多数情况下将它的值设置为0。
-
- GtkNotebook
GtkWidget *gtk_notebook_new( void );
这个函数的作用是新建一个notebook构件。
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是缺省值。
下面看一下怎样向笔记本中添加页面。有三种方法向笔记本中添加页面。前两种方法是非常相似的。
void gtk_notebook_append_page( GtkNotebook *notebook,
GtkWidget *child,
GtkWidget *tab_label );
void gtk_notebook_prepend_page( GtkNotebook *notebook,
GtkWidget *child,
GtkWidget *tab_label );
void gtk_notebook_insert_page( GtkNotebook *notebook,
GtkWidget *child,
GtkWidget *tab_label,
gint position );
void gtk_notebook_remove_page( GtkNotebook *notebook,
gint page_num );
gint gtk_notebook_get_current_page( GtkNotebook *notebook );
下面两个函数将笔记本的页面向前或向后移动。对要操作的笔记本构件使用以下函数就可以了。注意:当笔记本正在最后一页时,调用 gtk_notebook_next_page() 函数,笔记本会跳到第一页。同样,如果笔记本在第一页,调用了函数 gtk_notebook_prev_page(),笔记本构件会跳到最后一页。
void gtk_notebook_next_page( GtkNoteBook *notebook );
void gtk_notebook_prev_page( GtkNoteBook *notebook );
下面这个函数设置“活动”页面。比如你想笔记本的第5页被打开,你将使用这个函数。不使用这个函数时笔记本默认显示第一页。
void gtk_notebook_set_current_page( GtkNotebook *notebook,
gint page_num );
关于notebook我所用到的函数就这么多了。界面部分,我还用到了GtkFrame,可以起到分栏的效果。简单介绍一下frame的API吧。
(frame)框架可以用下面的函数创建:
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 );
xalign和yalign参数取值范围介于0.0和1.0之间。xalign指定标签在框架构件上部水平线上的位置。yalign目前还没有被使用。xalign的缺省值是0.0,它将标签放在框架构件的最左端。
差不多我所用到的函数我都列在上面了。