- 1、本文档共7页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
1-3-0-实验指导-GTK界面设计实验
Gtk+界面设计实验目录1.Gtk的安装步骤32.Gtk+基本构件添加3a) Gtk+ 单窗口显示程序编写3b) Gtk+ 布局容器(组装盒)的使用43. Gtk+信号、事件及回调函数64. Gtk+综合案例 – 计算器软件编写实现95.扩展题目18Gtk+界面设计工具功能强大,代码效率高,本章旨在通过简单案例驱动,进而熟悉Gtk+工具包的使用方法、函数的调用方法、界面设计的流程以及简单界面的设计方法。案例的选取具有代表性,希望大家通过相应的例子能够举一反三,全面掌握界面设计的方法思路。1.Gtk的安装步骤(1).待安装工具包glib-2.2.3.tar.bz2工具包gtk+-2.2.4.tar.bz2工具包(2).先安装glib,将glib-2.2.3.tar.bz2解压到/root目录下,执行以下安装命令:# ./configure --prefix=/usr --sysconfdir=/etc# make# make install(3).安装完glib,再安装Gtk+-2.2.4,将Gtk+-2.2.4.tar.bz2解压到/root目录下,执行以下安装命令:# ./configure --prefix=/usr --sysconfdir=/etc# make# make install(4).安装后的使用格式gcc –o 目标文件 源文件 `pkg-config --cflags --libs gtk+-2.0`(注意此处的单引号是键盘esc键下的点号)eg: 假设需要编译的源文件是hello.c,其编译的格式如下:gcc –o hello hello.c `pkg-config --cflags --libs gtk+-2.0`2.Gtk+基本构件添加a) Gtk+ 单窗口显示程序编写实验目的:练习最基本的窗口创建操作,熟练掌握构件添加流程源代码:#includegtk/gtk.hint main(int argc, char *argv[]){GtkWidget *window;gtk_init(argc,argv);window = gtk_window_new(GTK_WINDOW_TOPLEVEL);gtk_widget_show(window);gtk_main();return 0;}实验讲解:所有程序应该包含gtk/gth.h,其中声明了变量、函数以及数据结构等,这些东西会在程序中使用。gtk_init(gint *argc, gchar ***argv)函数会在每个Gtk应用程序中调用。gtk_window_new创建一个窗口,GTK_WINDOW_TOPLEVEL参数指定我们要使用窗口管理器来修饰和放置窗口。这里不会创建一个0x0大小的窗口,一个没有子构件的窗口默认大小设置为200x200,这样我们仍然能操作它。gtk_widget_show()显示窗口函数让Gtk知道,已经设置完构件的属性,可以显示它了。gtk_main()使程序进入Gtk主处理循环,它是另一个可以在每个Gtk程序中见到的函数调用。当程序运行到这里,Gtk会“睡眠”等待X事件(如按钮或键盘按下)、超时或文件IO通知发生。在本例中,事件被忽略。b) Gtk+ 布局容器(组装盒)的使用实验目的:练习使用Hbox和Vbox布局设计下图界面形式。源代码:见:b) Gtk+ 布局容器(组装盒)的使用.png实验讲解:创建窗口,设置名称、大小、位置、回调函数。新建3个按钮、2个组装盒,注意组装盒的嵌套应用。3. Gtk+信号、事件及回调函数实验目的:掌握回调函数与signal信号响应功能实现源代码:见:3. Gtk+信号、事件及回调函数.png实验讲解:g_signal_connect( gpointer *object, //发出信号的构件的指针const gchar *name, //信号名称GCallback func, //回调函数(对信号要采取的动作) gpointer data ); //传给回调函数的数据 第一个参数*object是将要发出信号的构建指针,第二个参数*name是希望捕获的信号的名称,第三个参数func是捕获信号是要调用的函数,第四个参数data是要传递给函数的用户数据参数。在第三个参数里指定的函数称为“回调函数”,它的形式通常是:void func(GtkWidget *widget,//发出信号的构件的指针gpointer callback_data);//穿过来的数据 这个函数的第一个参数是一个指向发出信号的构件的指针,第二个参数是一个指向传递给回调函数的用户数据的指针。注意上述对“信号”的回调函数的声明仅仅是一个通用的规则,因为一些构件的特殊“信号”产生不同调用参数
文档评论(0)