码迷,mamicode.com
首页 > 其他好文 > 详细

布局容器之固定布局

时间:2015-01-15 22:11:09      阅读:214      评论:0      收藏:0      [点我收藏+]

标签:gtk入门学习   容器   一步一步学习gtk+   固定布局   

前面我们学习的水平、垂直和表格布局容器,控件会跟着容器大小的变化进行自动适应,而固定布局容器里的控件则不会跟着变化( 则固定不变 )。


固定布局的创建:
GtkWidget *gtk_fixed_new(void);
返回值:固定布局容器指针


固定布局容器添加控件:
void gtk_fixed_put( 

GtkFixed *fixed,

GtkWidget *widget,

gint x,

gint y );

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

x, y:控件摆放位置的起点坐标,如下图:

技术分享


设置控件的大小( 宽和高 ):
void gtk_widget_set_size_request(

GtkWidget *widget,

gint width,

gint height );

widget:需要设置的控件
width:宽度
height:高度


移动固定布局里控件的位置:
void gtk_fixed_move(   

GtkFixed *fixed,

GtkWidget *widget,

gint x,

gint y);

fixed:固定布局容器
widget:需要移动的控件
x, y: 移动的位置


完整代码如下:

#include <gtk/gtk.h> 

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

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

	GtkWidget *fixed = gtk_fixed_new(); 	//创建一个固定容器
	gtk_container_add(GTK_CONTAINER (window), fixed); // 固定放进窗口

	GtkWidget *button1 = gtk_button_new_with_label("^_^");  // 创建按钮
	gtk_fixed_put(GTK_FIXED(fixed), button1, 0, 0); // 按钮添加到固定布局
	
	GtkWidget *button2 = gtk_button_new_with_label("@_@");  // 创建按钮
	gtk_fixed_put(GTK_FIXED(fixed), button2, 0, 0); // 按钮添加到固定布局
	
	gtk_fixed_move(GTK_FIXED(fixed), button2, 150, 150); // 移动控件的位置
	
	gtk_widget_set_size_request(button2, 100, 50); // 设置控件的大小

	gtk_widget_show_all(window);  // 显示所有控件
	 
	gtk_main();  //进入事件循环 
	 
	return 0; 
} 

程序运行效果图,如下:

技术分享



源代码下载请点此处。



布局容器之固定布局

标签:gtk入门学习   容器   一步一步学习gtk+   固定布局   

原文地址:http://blog.csdn.net/tennysonsky/article/details/42746621

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!