《linux-Gtk图形界面程序设计.ppt》由会员分享,可在线阅读,更多相关《linux-Gtk图形界面程序设计.ppt(16页珍藏版)》请在三一办公上搜索。
1、2023年11月8日,第12章 Gtk+图形界面程序设计,2023年11月8日,主要内容,Gtk的主要功能Gtk简介利用Gtk+开发图形界面程序基本程序示例应用容器的程序示例,2023年11月8日,Gtk的作用,Gtk+工具包在XWindows中的作用是Xlib之上更高层的开发工具包,它们将底层的Xlib的API进行封装,提供更高级的接口,达到降低开发难度,提高开发效率的目的。,2023年11月8日,Gtk简介,来源:Gimp(GUN Image Manipulation Program)以Gtk+为基础的应用软件GimpGladeGnomeAbiworddia等Gtk的主要组成Glib:底层
2、核心库Pango:界面布局和国际化Atk:其它功能,2023年11月8日,开发图形界面程序,基本程序示例on_btn_clicked(),按钮事件处理程序on_delete(),窗口关闭事件处理程序,2023年11月8日,2023年11月8日,基本程序示例,程序运行效果组成:一个按钮一个窗口动作:点击按钮,在终端输出一个字符串点击关闭窗口,在终端输出一个字符串后,退出,2023年11月8日,基本程序示例,程序的编译运行假设条件:源文件保存在当前工作目录中;源文件命名为helloworld.c利用gcc编译:命令:$gcc helloworld.c o helloworld pkg-config
3、 gtk+-2.0-cflags-libs说明输出文件为helloworld以命令pkg-config gtk+-2.0-cflags-libs的运行结果为gcc的额外参数;运行:./helloworld运行,2023年11月8日,常用事件及处理函数原型,2023年11月8日,应用容器的Gtk程序,容器:所谓容器,就是可以在其中放置其它界面元素的元素。其中放置的元素可以是可见的按钮、图标,也可以还是一个容器;以继承的观点来理解,GtkWidget有一个直接的派生类GtkContainer作为所有容器类的基类;按照容器中可以容纳元素的个数,容器又可以分为两类:只能容纳一个元素的容器;可以容纳多个
4、元素的容器。,2023年11月8日,应用容器的Gtk程序,常见的容器:容纳一个元素:(GtkBin的子类)GtkWindow GtkButtonGtkFrame容纳多个元素:(GtkContainer 的子类)GtkBox GtkTableGtkPanel这类容器通常称为布局,2023年11月8日,应用容器的Gtk程序,程序界面,btn_quit,2023年11月8日,应用容器的Gtk程序,程序源文件目录组织,2023年11月8日,表格布局的使用,本例中为43布局,即4行3列,2023年11月8日,向布局中放置界面元素,向表格中放置界面元素的基本函数void gtk_table_attach_defaults(GtkTable*table,/表格布局GtkWidget*widget,/界面元素guint left_attach,/列起始编号guint right_attach,/列终止编号guint top_attach,/行起始编号guint bottom_attach/行终止编号);示例中元素的位置参数,2023年11月8日,课后练习,1.简述gtk+在X Window系统中的地位。2.简述gtk+的组成。3.以gtk+为基础,现在有哪些已经比较成熟的应用应用软件项目?4.简述gtk+所使用的许可证特点。5.利用gtk+编一个图形界面程序,至少用到窗口、按钮和一种布局。,