• gtk+2.0学习笔记1 base.c


      1 /* 最简单的窗口base.c */
      2 #include <gtk/gtk.h>//包括了 GTK+中所有的控件、变量、函数和结构的声明
      3 int main ( int argc , char* argv[])
      4 {
      5         //声明窗口控件的指针,GtkWidget是GTK+2.0控件类型 GtkWidget * 能指向任何控件的指针类
      6         GtkWidget *window;
      7 
      8       //这在GTK+2.0程序中是必需的,不管设计中是否使用到命令行参数都需要用这一函数来初始化
      9         gtk_init(&argc,&argv); //初始化GTK+2.0的命令行参数
     10 
     11         //gtk_window_new() 创建窗口并返回该窗口的控件指针
     12         //GTK_WINDOW_TOPLEVEL 指明窗口的类型为最上层的主窗口,它最常用。
     13         //还可以取另一个值 GTK_WINDOW_POPUP 指明窗口的类型为弹出式的无边框的窗口。
     14         window = gtk_window_new(GTK_WINDOW_TOPLEVEL);
     15 
     16         //显示上一步创建的窗口,参数是要显示的控件的指针
     17         gtk_widget_show(window);
     18 
     19         //主事件循环,每个GTK+2.0程序都要有一个,否则程序无法执行
     20         //所谓事件循环是指 GUI 程序运行时等待来自外部用户发出的事件,
     21         //如键入或鼠标移动等,GTK+2.0 将这些事件包装成信号,用户再根据信
     22         //号的功能编写相应的回调函数来处理这些事件。
     23         //这段代码中并未写回调函数,所以这只是一个死循环,不做任何反应。
     24         gtk_main();
     25 
     26         //代码最后返回逻辑值 FALSE,它相当于整型的 0。
     27         //不写这一行是完全可以的,但写这行代码更能体现程序的完整性和可读性。
     29         return FALSE;
     30 }
    

    Makefile中的内容:
    1 CC = gcc
    2 all:
    3 $(CC) -o base base.c pkg-config --cflags --libs gtk+-2.0

  • 相关阅读:
    [考试]20151017数据结构
    [考试]20151016动态规划
    [考试]20151015分治
    [BZOJ1501/NOI2005]智慧珠游戏
    [BZOJ3139/HNOI2013]比赛
    [考试]20151013搜索
    BZOJ3082: Graph2
    BZOJ4690: Never Wait for Weights
    BZOJ4668: 冷战
    BZOJ3262: 陌上花开
  • 原文地址:https://www.cnblogs.com/DXGG-Bond/p/13744441.html
Copyright © 2020-2023  润新知