GTK学习(1)-常用控件之窗口( GtkWindow )

转自http://blog.csdn.net/lianghe_work/article/details/47087109

 

项目中需要用到GTK,在这里整理几个经常用到的知识点。

 

 

 

窗口的创建

GtkWidget *gtk_window_new(GtkWindowType type);

GtkWindowType是一个枚举,有两种情况:
GTK_WINDOW_TOPLEVEL:顶层窗口,有边框
GTK_WINDOW_POPUP:   弹式窗口,没边框

返回值:窗口指针

 

标题的设置:

void gtk_window_set_title(

GtkWindow *window, 

const gchar *title);

window:窗口

title:标题

 

控件最小大小的设置:

void gtk_widget_set_size_request(

GtkWidget *widget,

gint width,

gint height);

widget:需要操作的控件,可以是任何控件

width:宽度

height:高度

 

窗口伸缩设置:

void gtk_window_set_resizable(

GtkWindow *window, 

gboolean resizable);

window:窗口

resizable:TURE默认属性,可伸缩,FALSE不可伸缩

 

显示或隐藏所有控件:

void gtk_widget_show_all(GtkWidget *widget);
void gtk_widget_hide_all(GtkWidget *widget);

widget:控件

 

窗口在显示器位置的设置:

void gtk_window_set_position(

GtkWindow *window,

GtkWindowPosition position);

window:窗口
position常用有4种情况:
GTK_WIN_POS_NONE:  不固定
GTK_WIN_POS_CENTER: 居中
GTK_WIN_POS_MOUSE:  出现在鼠标位置
GTK_WIN_POS_CENTER_ALWAYS: 窗口总是居中 

 

例子代码如下:

 

[csharp] view plain copy

  1. #include <gtk/gtk.h>  
  2.   
  3. int main(int argc,char *argv[])  
  4. {  
  5.     //1.gtk环境初始化  
  6.     gtk_init(&argc, &argv);  
  7.   
  8.     //2.创建一个窗口  
  9.     GtkWidget *window = gtk_window_new(GTK_WINDOW_TOPLEVEL);  
  10.   
  11.     //3.设置窗口标题  
  12.     gtk_window_set_title(GTK_WINDOW(window), "window");  
  13.   
  14.     //4.窗口在显示器中居中显示  
  15.     gtk_window_set_position(GTK_WINDOW(window), GTK_WIN_POS_CENTER);  
  16.   
  17.     //5.设置窗口最小大小  
  18.     gtk_widget_set_size_request(window, 400,300);  
  19.   
  20.     //6.固定窗口大小  
  21.     gtk_window_set_resizable(GTK_WINDOW(window), FALSE);  
  22.   
  23.     //7."destroy"与gtk_main_quit链接  
  24.     g_signal_connect(window, "destroy", G_CALLBACK(gtk_main_quit), NULL);  
  25.   
  26.     //8.显示所有窗口  
  27.     gtk_widget_show_all(window);  
  28.   
  29.     //9.主事件循环  
  30.     gtk_main();  
  31.   
  32.   
  33.     return 0;  
  34. }  


运行结果:

 

更多Linux资料及视频教程点击这里

  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值