- 1、本文档共16页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
Gtk+图形界面程序设计.ppt
第12章 Gtk+图形界面程序设计 主要内容 Gtk+的主要功能 Gtk+简介 利用Gtk+开发图形界面程序 基本程序示例 应用容器的程序示例 Gtk+的作用 Gtk+工具包在XWindows中的作用 是Xlib之上更高层的开发工具包,它们将底层的Xlib的API进行封装,提供更高级的接口,达到降低开发难度,提高开发效率的目的。 Gtk+简介 来源: Gimp(GUN Image Manipulation Program) 以Gtk+为基础的应用软件 Gimp Glade Gnome Abiword dia等 Gtk+的主要组成 Glib:底层核心库 Pango:界面布局和国际化 Atk:其它功能 开发图形界面程序 基本程序示例 on_btn_clicked(),按钮事件处理程序 on_delete(),窗口关闭事件处理程序 基本程序示例 程序运行效果 组成: 一个按钮 一个窗口 动作: 点击按钮,在终端输出一个字符串 点击关闭窗口,在终端输出一个字符串后,退出 基本程序示例 程序的编译运行 假设条件: 源文件保存在当前工作目录中; 源文件命名为helloworld.c 利用gcc编译: 命令: $gcc helloworld.c –o helloworld `pkg-config gtk+-2.0 --cflags --libs` 说明 输出文件为helloworld 以命令pkg-config gtk+-2.0 --cflags --libs的运行结果为gcc的额外参数; 运行: ./helloworld运行 常用事件及处理函数原型 应用容器的Gtk+程序 容器: 所谓容器,就是可以在其中放置其它界面元素的元素。其中放置的元素可以是可见的按钮、图标,也可以还是一个容器; 以继承的观点来理解,GtkWidget有一个直接的派生类——GtkContainer作为所有容器类的基类; 按照容器中可以容纳元素的个数,容器又可以分为两类: 只能容纳一个元素的容器; 可以容纳多个元素的容器。 应用容器的Gtk+程序 常见的容器: 容纳一个元素:(GtkBin的子类 ) GtkWindow GtkButton GtkFrame 容纳多个元素 :(GtkContainer 的子类) GtkBox GtkTable GtkPanel 这类容器通常称为布局 应用容器的Gtk+程序 程序界面 应用容器的Gtk+程序 程序源文件目录组织 表格布局的使用 本例中为4×3布局,即4行3列 向布局中放置界面元素 向表格中放置界面元素的基本函数 void gtk_table_attach_defaults(GtkTable *table,//表格布局GtkWidget *widget,//界面元素guint left_attach,//列起始编号guint right_attach,//列终止编号guint top_attach,//行起始编号guint bottom_attach//行终止编号); 示例中元素的位置参数 课后练习 1. 简述gtk+在X Window系统中的地位。 2. 简述gtk+的组成。 3. 以gtk+为基础,现在有哪些已经比较成熟的应用应用软件项目? 4. 简述gtk+所使用的许可证特点。 5. 利用gtk+编一个图形界面程序,至少用到窗口、按钮和一种布局。 * 网络协议 X客户端(应用程序) X工具包、Gtk+,Qt XLib X客户端(应用程序) X工具包、Gtk+,Qt XLib X服务器 设备驱动程序 } 8 gtk_main_quit(); 7 g_print(Window Closed.\n); 6 void on_delete(GtkWidget *widget, GdkEvent *event, gpointer data){ 5 } 4 g_print(Hello World!\n); 3 void on_btn_clicked(GtkWidget *widget, gpointer data){ 2 #include gtk/gtk.h 1 helloworld.c代码片断1部分辅助函数 } 26 return 0; 25 gtk_main();//启动消息循环 24 gtk_widget_show_all(window);//显示窗口 23 gtk_container_add (GTK_CONTAINER (window), button); 22 G_CALLBACK (on_btn_clicked), NULL);//关联按钮事件 21 g_signal_connect (G_OBJECT
您可能关注的文档
- EVM实获值图解.ppt
- EWANChapter5CCNAExploration接入WAN(版本)(DOC可编).doc
- EWANChapterCCNAExploration接入WAN(版本)(DOC可编).doc
- EWAN_Chapter_满分答案(DOC可编).doc
- ExcelXP小技巧。。实用一生(DOC可编).doc
- Excel上机操作试题(二级考试)(DOC可编).doc
- Excel中值不显示的三种方法(DOC可编).doc
- excel中如何把一列有不同小数点位数的数据改成保留两位小数的(DOC可编).doc
- Excel中实现多条件求和的三种方法(DOC可编).doc
- Excel中实现多条件求和的三种要领(DOC可编).doc
最近下载
- 基于51单片机的智能台灯设计.doc
- 幼儿园课件:小老鼠和泡泡糖最终.pptx
- 2024必威体育精装版国开《个人理财》形考题库.docx VIP
- 国家开放大学学前教育专业+毕业作业(幼儿园教学活动设计与指导)9.doc
- 第18课 从九一八事变到西安事变(课件).pptx VIP
- 酒店装配式装修技术规程.pdf VIP
- 2023年中国汉字听写大赛全部试题库及答案.pdf VIP
- 2024中国铁路成都局集团限公司招聘高校毕业生998人高频考题难、易错点模拟试题(共500题)附带答案详解.docx
- 人文英语3--An-absence-excuse-letter完整版.docx
- 神经工程学(天津大学)大学MOOC慕课 客观题答案.docx
文档评论(0)