gtk+学习笔记(八)

框架(Frames)可以用于在盒子中封装一个或一组构件,框架本身还可以有一个标签。标签的位置和盒子的风格可以灵活改变。

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

GtkWidget *gtk_frame_new( const gchar *label );

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

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

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

void gtk_frame_set_label_align( GtkFrame *frame,
                                gfloat    xalign,
                                gfloat    yalign );

xalign和yalign参数取值范围介于0.0和1.0之间。xalign指定标签在框架构件上部水平线上的位置。yalign目前还没有被使用。xalign的缺省值是0.0,它将标签放在框架构件的最左端。

下面的函数改变盒子的风格,用于显示框架的轮廓。

void gtk_frame_set_shadow_type( GtkFrame      *frame,
                                GtkShadowType  type);

type参数可以取以下值之一:

  GTK_SHADOW_NONE
  GTK_SHADOW_IN
  GTK_SHADOW_OUT
  GTK_SHADOW_ETCHED_IN (缺省值)
  GTK_SHADOW_ETCHED_OUT.

 1 /* 创建一个框架 */
 2   frame = gtk_frame_new (NULL);
 3   gtk_container_add (GTK_CONTAINER (window), frame);
 4 
 5   /* 设置框架的标签 */
 6   gtk_frame_set_label (GTK_FRAME (frame), "GTK Frame Widget");
 7 
 8   /* 将标签定位在框架的右边 */
 9   gtk_frame_set_label_align (GTK_FRAME (frame), 1.0, 0.0);
10 
11   /* 设置框架的风格 */
12   gtk_frame_set_shadow_type (GTK_FRAME (frame), GTK_SHADOW_ETCHED_OUT);

今天的框体会是窗口的重头戏.

原文地址:https://www.cnblogs.com/kingos/p/4557420.html