Gtk图形界面程序设计课件.ppt

上传人(卖家):三亚风情 文档编号:3604520 上传时间:2022-09-24 格式:PPT 页数:15 大小:405KB
下载 相关 举报
Gtk图形界面程序设计课件.ppt_第1页
第1页 / 共15页
Gtk图形界面程序设计课件.ppt_第2页
第2页 / 共15页
Gtk图形界面程序设计课件.ppt_第3页
第3页 / 共15页
Gtk图形界面程序设计课件.ppt_第4页
第4页 / 共15页
Gtk图形界面程序设计课件.ppt_第5页
第5页 / 共15页
点击查看更多>>
资源描述

1、主要内容vGtk的主要功能vGtk简介v利用Gtk+开发图形界面程序基本程序示例应用容器的程序示例Gtk的作用vGtk+工具包在XWindows中的作用是Xlib之上更高层的开发工具包,它们将底层的Xlib的API进行封装,提供更高级的接口,达到降低开发难度,提高开发效率的目的。网络协议X客户端(应用程序)X工具包、Gtk+,QtXLibX客户端(应用程序)X工具包、Gtk+,QtXLibX服务器设备驱动程序Gtk简介v来源:Gimp(GUN Image Manipulation Program)v以Gtk+为基础的应用软件GimpGladeGnomeAbiworddia等vGtk的主要组成G

2、lib:底层核心库Pango:界面布局和国际化Atk:其它功能 开发图形界面程序v 基本程序示例on_btn_clicked(),按钮事件处理程序on_delete(),窗口关闭事件处理程序helloworld.chelloworld.c代码片断代码片断1 1部分辅助函数部分辅助函数1#include 2void on_btn_clicked(GtkWidget*widget,gpointer data)3 g_print(Hello World!n);4 5void on_delete(GtkWidget*widget,GdkEvent*event,gpointer data)6 g_pri

3、nt(Window Closed.n);7 gtk_main_quit();8 helloworld.c代码片断代码片断2主函数部分主函数部分9int main(int argc,char*argv)10 GtkWidget*window;11 GtkWidget*button;12 gtk_set_locale();13 gtk_init(&argc,&argv);/初始化运行环境初始化运行环境14 window=gtk_window_new(GTK_WINDOW_TOPLEVEL);/创建窗口创建窗口15 gtk_window_set_title(GTK_WINDOW(window),He

4、llo World!);16 gtk_container_set_border_width(GTK_CONTAINER(window),10);17 g_signal_connect(G_OBJECT(window),delete_event,18 G_CALLBACK(on_delete),NULL);/关联窗口关闭事件关联窗口关闭事件19 button=gtk_button_new_with_label(Hello World);20 g_signal_connect(G_OBJECT(button),clicked,21 G_CALLBACK(on_btn_clicked),NULL);

5、/关联按钮事件关联按钮事件22 gtk_container_add(GTK_CONTAINER(window),button);23 gtk_widget_show_all(window);/显示窗口显示窗口24 gtk_main();/启动消息循环启动消息循环25 return 0;26 基本程序示例v程序运行效果组成:v一个按钮v一个窗口动作:v点击按钮,在终端输出一个字符串v点击关闭窗口,在终端输出一个字符串后,退出基本程序示例v程序的编译运行假设条件:v源文件保存在当前工作目录中;v源文件命名为helloworld.c利用gcc编译:v命令:$gcc helloworld.c o he

6、lloworld pkg-config gtk+-2.0 -cflags -libsv说明输出文件为helloworld以命令pkg-config gtk+-2.0 -cflags -libs的运行结果为gcc的额外参数;运行:v./helloworld运行常用事件及处理函数原型常用的常用的gtk+事件及处理函数原型事件及处理函数原型事件源事件源事件名事件名处理函数原型处理函数原型GtkWidgetshowvoid user_function(GtkWidget*widget,gpointer data);expose-eventgboolean user_function(GtkWidget

7、*widget,GdkEventExpose*event,gpointer data);delete-eventGtkButtonactivatevoid user_function(GtkButton*widget,gpointer data);clickedenterGtkComboBoxchangedvoid user_function(GtkComboBox*widget,gpointer data);GtkListselect-childvoid user_function(GtkList*list,GtkWidget*widget,gpointer data);selection-

8、changedvoid user_function(GtkList*list,gpointer data);应用容器的Gtk程序v容器:所谓容器,就是可以在其中放置其它界面元素的元素。其中放置的元素可以是可见的按钮、图标,也可以还是一个容器;以继承的观点来理解,GtkWidget有一个直接的派生类GtkContainer作为所有容器类的基类;按照容器中可以容纳元素的个数,容器又可以分为两类:v只能容纳一个元素的容器;v可以容纳多个元素的容器。应用容器的Gtk程序v常见的容器:容纳一个元素:(GtkBin的子类)vGtkWindow vGtkButtonvGtkFrame容纳多个元素:(GtkC

9、ontainer 的子类)v GtkBox vGtkTablevGtkPanelv这类容器通常称为布局应用容器的Gtk程序v程序界面btn_quit btn_start btn_go label entry text+scroll_win window 应用容器的Gtk程序v程序源文件目录组织guess.c 定义主函数的地方 functionsfuntion.h 其它函数的头文件function.c其它函数的实现文件当前工作目录./表格布局的使用v本例中为43布局,即4行3列321001234btn_startbtn_quitlabelentrybtn_gotext,scroll_win向布局

10、中放置界面元素v 向表格中放置界面元素的基本函数void gtk_table_attach_defaults(GtkTable*table,/表格布局GtkWidget*widget,/界面元素guint left_attach,/列起始编号guint right_attach,/列终止编号guint top_attach,/行起始编号guint bottom_attach/行终止编号);示例中元素的位置参数元素名称元素名称列起列起始始列终列终止止行起行起始始行终行终止止btn_start0101btn_quit1201btn_go2312label2301entry0212text,scroll_win0324课后练习1.简述gtk+在X Window系统中的地位。2.简述gtk+的组成。3.以gtk+为基础,现在有哪些已经比较成熟的应用应用软件项目?4.简述gtk+所使用的许可证特点。5.利用gtk+编一个图形界面程序,至少用到窗口、按钮和一种布局。

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 办公、行业 > 各类PPT课件(模板)
版权提示 | 免责声明

1,本文(Gtk图形界面程序设计课件.ppt)为本站会员(三亚风情)主动上传,163文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。
2,用户下载本文档,所消耗的文币(积分)将全额增加到上传者的账号。
3, 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(发送邮件至3464097650@qq.com或直接QQ联系客服),我们立即给予删除!


侵权处理QQ:3464097650--上传资料QQ:3464097650

【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。


163文库-Www.163Wenku.Com |网站地图|