linux下gtk图形界面编程_计算机论文

linux下gtk图形界面编程_计算机论文

ID:20215474

大小:34.00 KB

页数:9页

时间:2018-10-10

linux下gtk图形界面编程_计算机论文_第1页
linux下gtk图形界面编程_计算机论文_第2页
linux下gtk图形界面编程_计算机论文_第3页
linux下gtk图形界面编程_计算机论文_第4页
linux下gtk图形界面编程_计算机论文_第5页
资源描述:

《linux下gtk图形界面编程_计算机论文》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、Linux下的GTK图形界面编程_计算机论文Linux下的GTK图形界面编程_计算机论文【摘要】本文介绍了Linux平台下的Xwindow图形窗口编程工具GTK,并给出了用GTK编程的基本要素和步骤。【关键词】GTK,回调函数,消息处理器,调节器GTK(GIMPToolkit)是一个图形用户编程的接口工具。它注册完全免费,所以用来开发自由软件或商业软件都不需要花费什么。现在很多Linux集成系统都已经将GTK1.2版本打包进去了。包括RedHatLinux6.0以上版本,还有中文化的TurboLinux等等。它也越来越被普遍的应用于UNIX系统编程。还有一个组件叫

2、Glib,它包含了一些标准应用的新扩展用来提高GTK的兼容性。用于Linux系统的某些函数可能不适合标准的UNIX系统,例如g_strerror()函数等等。某些函数也扩展了GNUC的一般功能,例如g_malloc函数就有自己加强的调试功能。GTK可以与多种语言绑定,包括C++,Guile,Perl,Python,Ton,Ada95,ObjectiveC,FreePascal,Eiffel。用标准C开发的程序,编译软件可用GNU并附带上GTK选项即可。想用除了标准C以外的其它语言来开发Xwindow图形用户程序,则需要先参考一下有关绑定软件的内容(HTTP://w

3、ww.gtk.org)。如果用C++语言来调用GTK进行开发,可以用已经和C++绑定的软件叫GTK--软件,来提供一个比GTK更好的C++编译环境。目前已经开发出来GTK的增强版GTK+。GTK+是将GTK,GDK,GLIB集成在一起的开发包,可以工作在许多类似于UNIX的系统上,没有GTK的平台限制。1.GTK的消息处理机制下面我们先看一个基本的例子,该例子产生一个200×200像素的窗口。它不能自己退出,只能通过shell来杀死进程(调用kill命令)。/*例子base.c*/#includeintmain(intargc,char*ar

4、gv[]){GtkWidget*window;gtk_init(&argc,&argv);/*初始化显示环境*/window=gtk_window_new(GTK_WINDOW_TOPLEVEL);/*创建一个新的窗口*/gtk_widget_show(window);/*显示窗口*/gtk_main();/*进入睡眠状态,等待事件激活*/return(0);}从上面的程序可以看出,GTK是一个事件驱动工具包,当它运行到gtk_main()函数时会自动睡眠,直到有事件发生,控制权转让给相应的函数调用,在该函数中可以用标准C写出相应的事物逻辑。这与windows上的

5、程序处理是一样的。对窗口对象上发生的事件(如按下鼠标,激活键盘等),GTK也有相应的消息信号产生。这时就需要程序员创建一个信号处理器来捕获该信号,并告诉GTK程序事件发生后调用哪个回调函数。信号处理器的创建函数定义如下:gintgtk_signal_connect(GtkObject*object,gchar*name,GtkSignalFunccallback_func,gpointerfunc_data);返回值是一个区分同一对象中的事件与不同回调函数的关联标签。这样可以做到一个对象的一个信号就有任意多个回调函数,并且每一个都会按照声明的顺序执行。函数调用的第

6、一个参数是产生信号的widget组件(即按钮等窗口构件),而name则是希望捕获的信号或事件的名称,callback_func则是事件发生后所调用的回调函数名称,而第四个参数func_data则是传递给回调函数的参数。回调函数要定义在主程序的前面,它们的一般格式都如下所示:voidcallback_func(GtkWidget*widget,gpointerfunc_data);调用下面这个方法将允许你将回调函数与事件的关联断开:voidgtk_signal_disconnect(GtkObject*object,gintid);该函数的第二个参数就是上述gtk_

7、signal_connect()函数的返回值,即关联标签。第一个参数指向了去除关联的对象名称。这样可以做到断开事件与回调函数的关联,使得事件发生后,不会调用相关的回调函数。布局格式2.1打包盒子对GTK显示格式的控制是通常通过打包盒子来完成的。widget组件打包可以采用两种方式,水平盒子和垂直盒子。若将widget组件打包进平行盒子,组件就被依次水平的插入窗口;若是垂直盒子,则组件排列是垂直的。产生新的水平盒子的函数为GtkWidget*gtk_hbox_new(ginthomogeneous,gintspacing);参数homogeneous是用来控制是否盒

8、子中的每个

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。