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



垂直布局容器的创建:


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;
}


程序运行效果图,如下:



GTK入门学习:布局容器之垂直布局_垂直布局