gdk环境gdk是什么么

gdk配置_百度文库
两大类热门资源免费畅读
续费一年阅读会员,立省24元!
上传于||文档简介
你可能喜欢Ubuntu 环境下Gtk与Qt编译环境***与配置_Linux教程_Linux公社-Linux系统门户网站
你好,游客
Ubuntu 环境下Gtk与Qt编译环境***与配置
来源:Linux社区&
作者:Linux
环境下Gtk与Qt编译环境***与配置(系统环境是Ubuntu 12.04)
1.配置基础开发环境GCC
刚装好的系统中已经有GCC了,但是这个GCC几乎什么文件都不能编译,因为缺少一些必须的头文件,所以要***build-essential这个软件包。可以在新立得里面搜索build-essential或输入下面命令:
sudo apt-get install build-essential程序示例
***完成后写一个C语言程序testc.c测试一下。
程序示例:
#include &stdio.h&int main(){& & printf ("Hello Ubuntu!");& & return 0;}
编译运行:$ gcc testc.c -o testc$ ./testc
输出:Hello Ubuntu!
2.***GTK/GNOME开发环境***GTK环境只要***一个libgtk2.0-dev就可以了,而***gnome开发环境的话,需要装gnome-core-devel,它包含GTK开发包。但在一般情况下,我们需要有一个ide开发环境,需要帮助文件,于是我们***sudo apt-get install gnome-devel gnome-devel-docs程序示例***完成后我们也同样做个测试程序 (CodeLanguage : C , only 1 header file )
hello-ubuntu_gnome.c
#include >k/gtk.h&void hello(GtkWidget *widget,gpointer data){& & & & g_print("Hello Ubuntu!\n");}gint delete_event(GtkWidget *widget,GdkEvent *event,gpointer data){& & & & g_print ("delete event occurred\n");& & & & return(TRUE);}void destroy(GtkWidget *widget,gpointer data){& & & & gtk_main_quit();}int main( int argc, char *argv[] ){& & & & GtkWidget *& & & & GtkWidget *& & & & gtk_init (&argc, &argv);& & & & window=gtk_window_new (GTK_WINDOW_TOPLEVEL);& & & & gtk_signal_connect (GTK_OBJECT(window),"delete_event",GTK_SIGNAL_FUNC(delete_event),NULL);& & & & gtk_signal_connect (GTK_OBJECT (window), "destroy",GTK_SIGNAL_FUNC (destroy), NULL);& & & & gtk_container_set_border_width (GTK_CONTAINER (window), 10);& & & & button = gtk_button_new_with_label ("Hello Ubuntu!");& & & & gtk_signal_connect (GTK_OBJECT (button), "clicked",GTK_SIGNAL_FUNC (hello), NULL);& & & & gtk_signal_connect_object (GTK_OBJECT (button), "clicked",GTK_SIGNAL_FUNC (gtk_widget_destroy),GTK_OBJECT (window));& & & & gtk_container_add (GTK_CONTAINER (window), button);& & & & gtk_widget_show (button);& & & & gtk_widget_show (window);& /*显示一个窗口*/& & & & gtk_main();& /*进入主循环*/& & & & return(0);}
下面命令编译运行
$ gcc gtktest.c -o gtktest& `pkg-config --cflags --libs gtk+-2.0`
$ ./gtktest
//`pkg-config--cflags --libs gtk+-2.0`库引用
显示一个带有一个按钮的窗口,点击按钮以后窗口关闭,命令行显示HelloUbuntu!
接下来请看第2页精彩内容:
相关资讯 & & &
& (09/26/:51)
   同意评论声明
   发表
尊重网上道德,遵守中华人民共和国的各项有关法律法规
承担一切因您的行为而直接或间接导致的民事或刑事法律责任
本站管理人员有权保留或删除其管辖留言中的任意内容
本站有权在网站内转载或引用您的评论
参与本评论即表明您已经阅读并接受上述条款浅析Linux桌面开发环境
浅析Linux桌面开发环境
  作者:曹江华
      Linux应用的广泛发展使其越来越受到广泛关注。Linux如此受欢迎,不仅仅因为它是免费的,而且还有以下原因:     · Linux是一个真正的抢占式多任务、多线程、多用户的操作系统。     · Linux性能稳定,功能强劲。     · Linux具有广泛的平台适应性。它在基于Intel公司的x86(也包括A MD、VIA、IDT)的计算机、基于Alpha的计算机,以及苹果、Sun、SGI等公司的计算机上都有相应的发行版本,甚至在AS/400上也能找到相应的版本,还可以在许多PDA和掌上电脑以及嵌入式设备上运行。     · 目前,已有为数不少的应用程序可以在Linux上运行。大多数为SCO Unix开发的应用程序都能在Linux上运行(借助于iBCS软件包),甚至还比在SCO Unix上运行速度更快。借助Dosemu,可以运行许多DOS应用程序,而借助Wabi或Wine,还可以运行许多为Windows设计的软件。     当然,Linux的优点决不止于此。它的出现为我国软件产业赶超世界先进水平提供了极好的机遇,也为我国软件产业反对微软的垄断提供了有力的武器。     Linux的迅速发展随着计算机网络的发展而扩大的。Linux可以说就是网络的代名词。目前Linux主要用于服务器端。在Internet上有很多服务器都在使用Linux。但是,一个操作系统要想得到普及,并占据一定的市场份额,必须要使非计算机专业人士都可以轻松使用这种系统。而Linux作为一种类Unix操作系统,对它的操作一般都是通过复杂的Shell命令进行的。因而,必须有一种简便易学的图形用户接口(Graphics User Interface)GUI,使用户使用鼠标就可以完成大多数工作。     在Linux中,GUI由以下几个部分组成:     · 窗口系统——组织显示屏上的图形输出并执行基本的文本和绘图功能。     · 窗口管理器——负责对窗口的操作(比如最小化、最大化、关闭按钮的形状,窗口边框外观等)以及输入焦点的管理。     · 工具包——带有明确定义的编程界面的常规库。     · 风格——指定应用程序的用户界面外观和行为。     LINUX诞生不久,自由软件社区的计算机专家就开始了KDE项目,目的是提供一个开放源代码的图形用户接口和开发环境。该项目取得了极大的成功,KDE成为许多Linux发布版本的首选桌面环境。GNU/Linux项目因此而得到蓬勃发展。但是,KDE是基于Troll Technologies公司的Qt库的。Qt库是一个跨平台的C++类库,可以用于多种Unix、Linux、Win32等操作系统。Qt并不是遵从GPL或LGPL协议的软件包。1997年由墨西哥国立自治大学的Miguel de Icaza领导的项目组开始了Gnome开发计划。Gnome是GNU Network Object Model Environment(GNU,网络对象模型环境)的缩写。该项目进展很快,由于Gnome项目的成功,1998年11月Qt库的开发者Troll公司宣布修改许可证协议,Qt库也成为自由软件。     1998年发布了Gnome1.0。现在,Gnome已成为一个强劲的GUI应用程序开发框架,并且可以在任何一种Unix系统下运行。Gnome使用的图形库是Gtk+——最初为了编写GIMP而创建的一套构件库,它是基于LGPL创建的,可以用它来开发开放源代码的自由软件,也可以开发不开放源代码的商用软件。Gnome的界面与KDE的界面是类似的(Gnome的目的之一就是创建一套类似KDE的桌面环境),熟悉KDE的用户无需学习就能够使用Gnome。由于以上几个原因,Gnome已经成为大多数Linux发布版本的首选桌面环境。     从用户的角度看,Gnome是一个集成桌面环境和应用程序的套件。从程序员的角度看,它是一个应用程序开发框架(由数目众多的实用函数库组成)。即使用户不运行Gnome桌面环境,用Gnome编写的应用程序也可以正常运行,但是这些应用程序是可以很好地和Gnome桌面环境集成。Gnome桌面环境包含文件管理器,它用于任务切换、启动程序以及放置其他程序的“面板”、“控制中心”(包括配置系统的程序以及一些小东西)等。这些程序在易用的图形界面背后隐藏了传统的UNIX Shell。Gnome的开发结构使开发一致的、易用的和可互相操作的应用程序成为可能。     在Linux下开发GUI程序的首要问题是采用什么样的图形库。Gtk+(GIMP Tool Kit,GIMP工具包)是一个用于创造图形用户接口的图形库它被称为GIMP工具包,因为它最初用于开发“通用图片处理程序”(General Image Manipulation Program,GIMP),Gtk已在大量软件项目,包括Gnome中得到了广泛应用。Gtk+是在Gdk(GIMP Drawing Kit,GIMP绘图包) 的基础上创建的.因为Gtk +和Gnome是用C语言编写的,所以在开发Linux下的GUI程序时使用C语言是非常方便的。如果用C++语言开发基于Gtk +应用程序,可以使用一个名为Gtk的函数库。一般的Linux发布版本中都提供了C编译器gcc或egcs。使用gcc或egcs可以编译C和C++源代码,编译出的目标代码质量非常好,编译速度也很快。各种C编译器都要使用一些C语言实用函数。为了保证程序的可移植性,gcc没有使用通用的C函数库,而是使用一种称为glib的函数库。glib也是Gtk+的基础。它包含一些标准函数的替代函数(如字符串处理函数)和基本数据结构的实现(单向链表、双向链表、树、哈希表等)。glib中所包含的函数消除了某些函数的安全漏洞,使其更加可靠,在不同平台上移植也更加方便。     GTK是用于实现图形用户接口的函数库。在Linux平台上,GUI(图形用户接口)使用的是称为X窗口(XWindow)的系统。X窗口系统是1984年由美国麻省理工学院开发的。在Linux上使用的X窗口系统是一种称为XFree86 的X版本。X窗口系统与Microsoft Windows的图形用户接口有所不同,它是基于客户/服务器的。X服务器在计算机上运行,控制监视器、鼠标和键盘。X客户通过网络与服务器通讯。X服务器为X客户提供图形显示服务。也就是说,X客户和X服务器可能在同一台计算机上运行,也可能在不同的计算机上运行。X窗口系统带有一套低级的库函数,称为Xlib。Xlib提供了许多对X窗口的屏幕进行操作的函数。当然,使用Xlib函数在屏幕上创建构件是很复杂的。GTK要在屏幕上绘制各种构件,就需要与X服务器打交道。但是GTK提供的构件库并未直接使用Xlib,而是使用了一个称为GDK的库。     GDK的意思是GIMP Drawing Toolkit,即GIMP绘图工具包。差不多每个Gdk函数都是一个相应Xlib函数的封装。但是Xlib的某些复杂性(和功能)被隐藏起来了。这样是为了简化编程,使Gdk更容易移植到其他窗口系统(有一个在Windows平台上的Gdk版本)。   
H3C认证Java认证Oracle认证
基础英语软考英语项目管理英语职场英语
.NETPowerBuilderWeb开发游戏开发Perl
二级模拟试题一级模拟试题一级考试经验四级考试资料
软件测试软件外包系统分析与建模敏捷开发
法律法规历年试题软考英语网络管理员系统架构设计师信息系统监理师
高级通信工程师考试大纲设备环境综合能力
路由技术网络存储无线网络网络设备
CPMP考试prince2认证项目范围管理项目配置管理项目管理案例项目经理项目干系人管理
职称考试题目
招生信息考研政治
网络安全安全设置工具使用手机安全
生物识别传感器物联网传输层物联网前沿技术物联网案例分析
Java核心技术J2ME教程
Linux系统管理Linux编程Linux安全AIX教程
Windows系统管理Windows教程Windows网络管理Windows故障
数据库开发Sybase数据库Informix数据库
&&&&&&&&&&&&&&&
希赛网 版权所有 & &&

参考资料

 

随机推荐