GTK入门学习:布局容器之水平布局

如果我们希望窗口里多放添加几个控件,直接添加是不成功的,因为窗口只能容纳一个控件的容器。这时候,我们需要借助布局容器,我们先把布局容器添加到窗口里,然后再把所需要添加的控件放在布局容器里。


布局容器的主要分类:水平布局( GtkHBox)、垂直布局(GtkVBox )、表格布局(GtkTable)、固定布局(GtkFixed )。


水平布局容器:


水平布局容器的创建:
GtkWidget *gtk_hbox_new( gboolean homogeneous,  

gint spacing );

homogeneous:容器内控件是否大小一致( gboolean 取值为TRUE 或 FALSE )
spacing:控件之间的间隔( 以像素点为单位 ),gint相当于 C语言的int
返回值:水平布局控件指针


容器添加添加控件:
void gtk_container_add(GtkContainer *container, 

GtkWidget *widget);

container:容纳控件的容器
widget:要添加的控件


显示容器上所有控件
void gtk_widget_show_all(GtkWidget *widget);
widget:需要显示的控件


完整代码如下:

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

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

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

	// 创建水平布局容器
	GtkWidget *hbox = gtk_hbox_new(TRUE, 10); 
	// 把容器添加到窗口
	gtk_container_add(GTK_CONTAINER(window), hbox); 

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

	// button2
	button = gtk_button_new_with_label("button2");
	gtk_container_add(GTK_CONTAINER(hbox), button); // 按钮添加到水平布局容器里

	// button3
	button = gtk_button_new_with_label("button3");
	gtk_container_add(GTK_CONTAINER(hbox), button); // 按钮添加到水平布局容器里

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

	gtk_main(); 	// 主事件循环

	return 0; 
} 


程序运行效果图,如下:



  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值