下载
第9章 杂 项 构 件
9.1 标签构件GtkLabel
G t k L a b e l (标签构件)是G T K 中最常用的构件,实际上它很简单。因为没有相关联的 X窗口,
标签构件不能引发信号。如果需要引发信号,可以将它放在一个事件盒构件中,或放在按钮
构件里面。
用以下函数创建新标签构件:
GtkWidget *gtk_label_new(char *str );
唯一的参数是要由标签显示的字符串。
创建标签构件后,要改变标签内的文本,用以下函数:
void gtk_label_set_text( GtkLabel *lacbel,char *str );
第一参数是前面创建的标签构件 (用G T K _ L A B E L ( )宏转换),并且第二个参数是新字符串。
如果需要,新字符串需要的空间会做自动调整。在字符串中放置换行符,可以创建多行标签。
用以下函数取得标签的当前文本:
void gtk_label_get( GtkLabel *Label,char **str );
第一个参数是前面创建的标签构件,并且第二个参数是要返回的字符串。不要释放返回
的字符串,因为G T K内部要使用它。
标签的文本可以用以下函数设置对齐方式:
void gtk_label_set_justify( GtkLabel *Label,
GtkJustification jtype );
j t y p e的值可以是:
GTK_JUSTIFY_LEFT 左对齐
GTK_JUSTIFY_RIGHT 右对齐
GTK_JUSTIFY_CENTER 居中对齐(默认)
GTK_JUSTIFY_FILL 充满
标签构件的文本会自动换行。用以下函数激活“自动换行”:
void gtk_label_set_line_wrap (GtkLabel *Label, gboolean wrap);
w r a p 参数可取T R U E 或FA L S E ,对应于自动换行和不自动换行。
如果想要使标签构件加下划线,可以在标签构件中设置显示模式:
void gtk_label_set_pattern (GtkLabel *Label,const gchar *pattern);
p a t t e r n参数指定下划线的外观。它由一串下划线和空格组成。下划线指示标签的相应字
符应该加一个下划线。例如 , “
— —
”将在标签的第 1、第2个字符和第8、第9个字符加下划
线。
下面是一个说明这些函数的短例子。这个例子用框架构件能更好地示范标签的风格。
/* GtkLabel示例开始 label.c */
#include <gtk/gtk.h>