[TOC]
垂直布局和水平布局的用法基本是一样,无非是新建垂直布局容器接口,还有控件摆放的方向不同。

垂直布局容器的创建:

GtkWidget *gtk_vbox_new( gboolean homogeneous,
                            gint spacing );

完整代码如下:

#include <gtk/gtk.h>    // 头文件

int main(int argc, char *argv[]) 
{ 
    gtk_init(&argc, &argv); // 初始化

    GtkWidget *window = gtk_window_new(GTK_WINDOW_TOPLEVEL);         // 创建窗口

    // 创建垂直布局容器
    GtkWidget *vbox = gtk_vbox_new(TRUE, 10); 
    // 把容器添加到窗口
    gtk_container_add(GTK_CONTAINER(window), vbox); 

    // button1
    GtkWidget *button = gtk_button_new_with_label("button1");
    gtk_container_add(GTK_CONTAINER(vbox), button); // 按钮添加到垂直布局容器里

    // button2
    button = gtk_button_new_with_label("button2");
    gtk_container_add(GTK_CONTAINER(vbox), button); // 按钮添加到垂直布局容器里

    // button3
    button = gtk_button_new_with_label("button3");
    gtk_container_add(GTK_CONTAINER(vbox), button); // 按钮添加到垂直布局容器里

    gtk_widget_show_all(window);// 显示所有控件

    gtk_main(); // 主事件循环

    return 0; 
} 

程序运行效果图,如下:

09_布局容器之垂直布局 - 图1