• GTK安装


    上面是linux下GTK+配置所需要的库,关于各个库的功能,查看http://www.gtk.org/overview.php,至于库的下载在http://www.gtk.org/download/linux.php

    linux下GTK+的一键安装和配置:(fedora16和centos下配置成功)

    必要组件:

    # yum install gtk2 gtk2-devel gtk2-devel-docs

    可选组件:

    # yum install gnome-devel gnome-devel-docs

    查看是否已经安装gtk

    $ pkg-config --list-all |grep gtk

    显示结果一般如下
    gtk+-unix-print-2.0 GTK+ - GTK+ Unix print support
    gtk+-x11-2.0 GTK+ - GTK+ Graphical UI Library (x11 target)
    pygtk-2.0 PyGTK - Python bindings for GTK+ and related libraries
    gtk+-2.0 GTK+ - GTK+ Graphical UI Library (x11 target)
    gtk-doc gtk-doc - API documentation generator

    安装好之后,写个程序测试下

    #include <gtk/gtk.h>  
      
    int main(int argc, char *argv[])  
    {  
        GtkWidget *windows;  
        gtk_init(&argc,&argv);  
          
        windows = gtk_window_new(GTK_WINDOW_TOPLEVEL);  

    gtk_window_set_title(GTK_WINDOW(windows), "Hello,World");
        gtk_widget_show(windows);  
      
        gtk_main();  
      
        return 0;  
    } 
    

      

    GTK+程序的编译链接执行

    $ gcc -o hello hello.c `pkg-config –libs –cflags gtk+-2.0`

    命令说明:    gcc 编译命令

                         hello.c 源程序文件名

                         -o 编译参数,(不是0(零),是opq的o)

                         hello编译连接后的可执行文件名,可以为任意合法的文件名

                         `   这个符号是和~呆在一起的那个键上,不要误认为是单引号‘

                         pkg后面与-config之间没有空格

                         cflags 前面是两个短线 --

                     libs前面也是两个短线 --

    运行程序

    键入 ./hello后回车便可看到效果了。

    需要注意的是,该程序当你点击窗口右上角上的小X关闭窗口时,窗口倒是关闭了。但是程序还在运行,你必须在终端下按组合键:Ctrl+c来关闭进程。

    程序分析

    GtkWidget *windows; 相当于Windows下的WNDCLASS结构体,不过window在此只是一个窗口指针,用于指向函数gtk_window_new()函数返回的窗口地址而已。

    gtk_init(&argc,&argv);初始化界面库等一系列操作的函数,当其调用失败时,其将终止我们的程序,目前只要记住在编写任何窗口函数之前,都保证该函数是第一个被调用的就行了。

    windows=gtk_window_new(GTK_WINDOW_TOPLEVEL);该函数创建一个新的GtkWidget对象(目前我认为其就是创建了一个还没有显示的窗 口),并返回该对象的指针。该函数参数仅有两个,其中一个是上面的GTK_WINDOW_TOPLEVEL,表示创建一个“主窗口”,另一个则是 GTK_WINDOW_POPUP,表示创建一个弹出窗口。

    gtk_window_set_title(GTK_WINDOW(windows),”Hello,World”);该函数设置窗口的标题。

    gtk_widget_show(windows); 该函数将窗口显示出来。

    gtk_main();该函数捕获一些消息吧。在没有调用函数gtk_main_quit()函数之前,即使你关闭窗口,进程也不关闭的原因就在此。

    八、总结

    创建窗口主要步骤:

    1、GtkWidget *windows;

    2、gtk_init(&argc,&argv);

    3、windows=gtk_window_new(GTK_WINDOW_TOPLEVEL);

    4、gtk_widget_show(windows);

    5、gtk_main();

  • 相关阅读:
    数据库——Oracle(7)
    数据库——Oracle(6)
    数据库——Oracle(5)
    数据库——Oracle(4)
    数据库——Oracle(3)
    数据库——Oracle(2)
    Java 学习笔记之 Synchronized锁对象
    Java 学习笔记之 线程安全
    Java 学习笔记之 实例变量非线程安全
    Java 学习笔记之 方法内的临时变量是线程安全
  • 原文地址:https://www.cnblogs.com/delmory/p/4023272.html
Copyright © 2020-2023  润新知