免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 793 | 回复: 0
打印 上一主题 下一主题

GTK学习笔记(一) [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2009-11-17 20:36 |只看该作者 |倒序浏览

第一个GTK程序简单,简单到只能使用Ctrl+C来结束运行。代码如下:
/*
* base.c
*/
/* 既然是使用GTK函数库编程,自然是一定要包含GTK的头文件gtk.h */
#include
int main( int   argc,
          char *argv[] )
{
    /* Widget这个单词的意思是“[计]窗口小部件”,GtkWidget这个变量类型可以用来
     * 定义各种GTK中的窗口组件。这里我定义了3个窗口。
     */
    GtkWidget *window1;
    GtkWidget *window2;
    GtkWidget *window3;
    /* 从函数的名字不难看出,gtk_init()的功能是做一些初始化工作。至于后面的参
     * 数,也不难看出就是指向main()主函数的参数。既然是初始化,当然是应该最先
     * 执行的。
     * 原型:void gtk_init(int *argc,char ***argv)
     */
    gtk_init (&argc, &argv);
    /* gtk_window_new()是用来创建窗口的。
     * 原型:GtkWidget *gtk_window_new(GtkWindowType windowtype)
     * 参数windowtype的取值有3个
     *   GTK_WINDOW_TOPLEVEL
     *   GTK_WINDOW_DIALOG
     *   GTK_WINDOW_POPUP
     * 前两个参数创建出来的窗口有点像,似乎没有什么区别。但是第三个参数就不同
     * 了。由GTK_WINDOW_POPUP创建的窗口,没有标题栏,而且始终位于屏幕的最上方
     * 即其它窗口不能遮挡住它。
     */
    window1 = gtk_window_new (GTK_WINDOW_TOPLEVEL);
    window2 = gtk_window_new (GTK_WINDOW_DIALOG);
    window3 = gtk_window_new (GTK_WINDOW_POPUP);
   
    /* 我们可以使用gtk_window_set_title()函数来设定或改变窗口的标题。
     * 原型:void gtk_window_set_title(GtkWindow *window,const gchar *title)
     * 第一个参数是GtkWindow *类型,因此我们需要强制转换一下。
     * gchar在glib库中定义,它和char是一样的。
     */
    gtk_window_set_title(GTK_WINDOW(window1),"TOPLEVEL");
    gtk_window_set_title(GTK_WINDOW(window2),"DIALOG");
    gtk_window_set_title(GTK_WINDOW(window3),"POPUP");
   
    /*设置窗口的位置,可用参数值
     *  GTK_WIN_POS_NONE
     *  GTK_WIN_POS_CENTER
     *  GTK_WIN_POS_MOUSE
     *  GTK_WIN_POS_CENTER_ALWAYS
     * void gtk_window_set_position(GtkWindow *window, GtkWindowPosition position)
     */
    gtk_window_set_position(GTK_WINDOW(window1),GTK_WIN_POS_CENTER);
   
    /* 设定window的尺寸。和gchar一样,gint是在glib库中定义的和int一样的类型。
     * void gtk_window_set_default_size(GtkWindow *window, gint width, gint height)
     */
    gtk_window_set_default_size(GTK_WINDOW(window1), 300, 300);
   
    /* void gtk_widget_show(GtkWidget *widget) 函数用于显示窗口中的组件。在创
     * 建了一个组件或改变了组件属性的情况下,则这个函数就必须要用到。
     */
    gtk_widget_show  (window1);
    gtk_widget_show  (window2);
    gtk_widget_show  (window3);
    /* 当一切创建与设置工作都完成之后,我们就需要使用void gtk_main(void)函数将
     * 窗口和所有的组件显示在屏幕上,这个函数必须在GTK程序的最后调用。
     */
    gtk_main ();
    return(0);
}
编译时使用如下方法:
[yaos@Arch gtk]$ gcc base.c `gtk-config --cflags --libs`
没有出错提示就可以运行a.out了。


本文来自ChinaUnix博客,如果查看原文请点:http://blog.chinaunix.net/u3/106271/showart_2097048.html
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP