用表组装
让我们看看另一种组装的方法 - 表(Tables)。 在某些情况下这是极其有用的。
使用表的时候,我们建立格来放入构件。构件可以占满我们所指定的所有空间.
第一个要看的,当然是gtk_table_new()这个函数:
GtkWidget *gtk_table_new( guint rows, |
第一个参数是表中要安排的行的数量,而第二个,显然,就是列的数量。
行与列为从0到n编号,而n是我们在调用 gtk_table_new 时所指定的值。所以,如果你指定rows = 2及columns = 2, 布局图会看起来像这样:
0 1 2 |
注意坐标系统开始于左上角。要向框中放置一个构件,使用下面的函数:
void gtk_table_attach( GtkTable *table, |
第一个参数("table")是你已经创建的表,第二个参数("child")是你想放进表里的构件。
现在,如果你想让一个构件占据我们这个2x2表的整个顶行,你就用left_attach = 0, right_attach = 2, top_attach = 0, bottom_attach = 1。
xoptions及yoptions是用来指定组装时的选项,可以通过使用“位或”运算以允许多重选项。
Padding和在盒(boxes)中的一样,在构件的周围产生一个指定象素的空白区域。
gtk_table_attach()有很多 选项,所以,这里有一个简写:
void gtk_table_attach_defaults( GtkTable *table, |
X及Y选项默认为GTK_FILL | GTK_EXPAND ,X和Y的padding则设为0。其余的参数与前面的函数一样。
我们还有 gtk_table_set_row_spacing() 和 gtk_table_set_col_spacing()。这些在指定的行或列之间插入空白。
void gtk_table_set_row_spacing( GtkTable *table, |
void gtk_table_set_col_spacing ( GtkTable *table, |
注意,对列来说,空白插到列的右边,对行来说,空白插入行的下边。
void gtk_table_set_row_spacings( GtkTable *table, |
void gtk_table_set_col_spacings( GtkTable *table, |
<<< Previous | Home | Next >>> |
组装示范程序 | Up | 表组装示例 |