1 框架(Frames)
框架可以用于在盒子中封装一个或一组构件,框架本身可以有一个标签。标签的位置和盒子的风格可以灵活改变。
/* 创建框架构建
* label: 框架的标签,label = NULL时,框架不显示标签。
*/
GtkWidget* gtk_frame_new (const gchar *label);
/* 设置标签文本 */
void gtk_frame_set_label (GtkFrame *frame, const gchar *label);
/* 设置标签的位置
* xalign: 标签从左到右偏离距离(0.0-1.0)
* yalign: 标签从下到上偏离距离(0.0-1.0)
*/
void gtk_frame_set_label_align (GtkFrame *frame,
gfloat xalign,
gfloat yalign);
/* 设置框架的风格
* type :
* GTK_SHADOW_NONE
* GTK_SHADOW_IN
* GTK_SHADOW_OUT
* GTK_SHADOW_ETCHED_IN
* GTK_SHADOW_ETCHED_OUT
*/
void gtk_frame_set_shadow_type (GtkFrame *frame,
GtkShadowType type);
2 比例框架(Aspect Frames)
比例框架构件可以使子构件的外观比例(长宽比)保持一定值。例如,想预览一个大的图片。当用户改变窗口的尺寸时,预览器的尺寸应该随之改变,但是外观比例要与原来图片的尺寸保持一致。
/* 创建比例框架构件
* label: 框架构件的标签
* xalign: 子构件在比例框架中的横向位置
* yalign: 子构件在比例框架中的纵向位置
* ratio: 比例框架的长宽比例
* obey_child: 是否同意比例框架的长宽比更改为子构件的长宽比
*/
GtkWidget* gtk_aspect_frame_new (const gchar *label,
gfloat xalign,
gfloat yalign,
gfloat ratio,
gboolean obey_child);