logo资料库

Gtk应用设计.pdf

第1页 / 共31页
第2页 / 共31页
第3页 / 共31页
第4页 / 共31页
第5页 / 共31页
第6页 / 共31页
第7页 / 共31页
第8页 / 共31页
资料共31页,剩余部分请下载后查看
第九章 GTK应用
第九章:GTK应用 目标: 本章使学员掌握Linux操作系统 下GTK编程: 1)了解GTK图形库 2)掌握GTK编程方法 时间:3 学时 教学方法:讲授PPT+ 上机操作+实例演示
9.1 什么是GTK • GTK (GIMP Toolkit) 是一套用于创建图形用户界面的工具包。 • GTK 实质上是一个面向对象的应用程序接口 (API)。尽管完全 用C写成的,但它是基于类和回调函数 (指向函数的指针) 的思 想实现的。 • 它遵循LGPL许可证,所以可以用它来开发开源软件、自由软 件,甚至是封闭源代码的商业软件,而不用花费任何费用来购 买许可证和使用权。 • 当前,GTK已经被成功地应用到了大量的自由软件及商业软件 中,已经取得了很大的成功。
9.1 什么是GTK GTK主要由几大组件构成: • Gtk+:GTK的主要组件,包括所有的图形控件及大量实用的 API。 • Glib:包含一些标准函数的替代函数,以及一些处理链表等数 据结构的函数等。这些替代函数被用来增强GTK 的可移植性, 同时提供 libc 的对应函数的增强版本。 • Pango:该组件用来处理国际化文字输出。
9.1 什么是GTK GTK的优势: • 它很现代,一直得到积极的开发与维护,围绕它有一个充满活 力的社区。 • 它提供了广泛的选项,用于把工作扩展到尽可能多的人,其中 包括一个针对国际化、本地化和可访问性的完善的框架。 • 它简单易用,对开发人员和用户来说都是这样。 • 它的设计良好、灵活而可扩展。 • 它是自由软件,有一个自由的开放源码许可。 • 它是可移植的,从用户和开发人员的角度都是这样。
9.2 安装GTK apt-get install gnome-core-devel apt-get install pkg-config 必须安装的软件包: • 安装libgtk2.0-dev libglib2.0-dev等GTK图形库 • 编译GTK程序时自动找出头文件及库文件位置的工具 可选的软件包,建议安装: • 安装GTK文档查看程序 • 安装 gtk/glib的API参考手册及其它帮助文档 apt-get instal glade libglade2-dev • 安装基于GTK的界面构造程序 apt-get install libglib2.0-doc libgtk2.0-doc apt-get install devhelp
9.3 从HelloGTK开始 #include void hello( GtkWidget *widget, gpointer data ){ g_print ("Hello World\n"); } int main(int argc, char *argv[]) { //定义回调函数 // GtkWidget 是绝大部分可视组件的的基类 //对程序传入的命令行参数进行标准化处理 GtkWidget *window, *button; gtk_init(&argc, &argv); window = gtk_window_new(GTK_WINDOW_TOPLEVEL); gtk_window_set_title(GTK_WINDOW(window), “HelloGTK!”); //设置窗口标题 button = gtk_button_new_with_lable(“hello”); gtk_container_add(GTK_CONTAINER(window), button); g_signal_connect(G_OBJECT(button), “clicked”, G_CALLBACK(hello), NULL); gtk_widget_show(window); gtk_widget_show(button); gtk_main(); return 0; //为“button”连接“clicked”(单击事件)要调用的回调函数 //显示窗口 //显示按钮 //Gtk程序主循环 } 编译方法: gcc hellogtk.c -o hellogtk `pkg-config --cflags --libs gtk+-2.0` # 注意:"`" 不是普通的单引号 "'",而是同"~"在一起的那个符号!
9.4 GTK编程基础 从以下几个方面了解gtk的原理和运行机制: • glib的数据类型 • Gtk的数据类型 • Gtk的初始化 • Gtk的事件循环机制 • 信号处理和回调函数
分享到:
收藏