查看“GUI开发”的源代码
来自Ubuntu中文
←
GUI开发
跳到导航
跳到搜索
因为以下原因,您没有权限编辑该页面:
您请求的操作仅限属于该用户组的用户执行:
用户
您可以查看和复制此页面的源代码。
==常用widget toolkits的分类== ='''GTK+'''= == GTK+简介 == '''GTK+'''最初是GIMP的专用开发库,后来发展为Unix-like系統下开发图形界面的应用程序的主流开发工具之一。GTK+是自由软件,并且是GNU计划的一部分。GTK+ 的许可协议是 LGPL。 == 编程语言 == GTK+使用'''C语言'''开发,但是其设计者使用面向对象技术。 也提供了 C++(gtkmm)、Perl、Ruby、Java 和 Python(PyGTK)绑定,其他的绑定有 Ada、D、Haskell、PHP 和所有的 .NET 编程语言。 与其他很多部件工具包不同,GTK+ 并不基于Xt。这一决策优劣互见:优点是 GTK+ 可以应用于其他系统,其灵活性也很强;而缺点就是它无法利用以传统方法为 X11 定制的X资源数据库。 Glade 是一个界面设计工具,但是它也包含了一种描述 GUI 界面的 XML 语言,它和 libglade 一起工作就可以直接使用 GTK 和 GNOME 控件;新的Glade-3 不再直接支持生成编程语言源代码。 == 外观感觉 == 由提供的不同的显示引擎使得终端用户可以定制外观和感觉。目前已经有一些可以模仿其他流行的平台或者工具包(例如Windows 95、Motif、Qt或者NEXTSTEP)的引擎。 == 发展历史 == 自GTK+1.0最早由1998年建立来,发行了诸多版本,目前最新版本为2.16. GTK+2.0 继承了 GTK+1.0 的所有特性,并在此基础上增加了其他一些特性,如改进的字体渲染工具包 Pango,主题引擎,辅助工具包, 完全移植到Unicode-8,以及更加灵活的 API (应用程序接口).然而 GTK+2.0 与 1.0 不兼容,所以需要程序自己移植. Ridley项目将在未来的版本中融合一些函数库,包括libgnome, libgnomeui, libgnomeprint22, libgnomeprintui22, libglade, libgnomecanvas, libegg, libeel and gtkglext.目前GTK+ 3.0正在开发中. == GTK+ hello world == 以下给出 Linux 下用 GTK+ 工具包写的hello world. #include <config.h> #include <gtk/gtk.h> /* * 点击窗口关闭的回调函数,它将处理destroy信号,使gtk循环退出 */ static void on_destroy (GtkWidget * widget, gpointer data) { gtk_main_quit (); } int main (int argc, char *argv[]) { GtkWidget *window; GtkWidget *label; gtk_init (&argc, &argv); /* 创建一个顶层的主窗口 */ window = gtk_window_new(GTK_WINDOW_TOPLEVEL); /* 设定主窗口内部边缘空白 */ gtk_container_set_border_width (GTK_CONTAINER (window), 20); /* 设定标题 */ gtk_window_set_title (GTK_WINDOW (window), PACKAGE " " VERSION); /* 设定默认的窗口大小 */ gtk_window_set_default_size (GTK_WINDOW (window), 200, 50); /* 设定窗口上的图标 */ gtk_window_set_default_icon_from_file (PIXMAPS_DIR "/hello-icon.gif", NULL); /* * 将主窗口的关闭按钮会发出的destroy信号连接到回调函数on_destroy上. * 让on_destroy来处理. */ g_signal_connect (G_OBJECT (window), "destroy", G_CALLBACK (on_destroy), NULL); /* 创建一个标签 */ label = gtk_label_new ("Hello, World"); /* 将标签放入到主窗口中 */ gtk_container_add (GTK_CONTAINER (window), label); /* 显示窗口内的所有控件 */ gtk_widget_show_all (window); /* 开始gtk循环 */ gtk_main (); return 0; } == 优秀的GTK+应用软件 == * Geany,代码编辑器 * GIMP,类似于Photoshop的图像处理程序 * Inkscape,类似于Illustrator、CorelDraw的矢量图形绘制工具 * Pidgin,支持多种协议(IRC、Gtalk、Yahoo Talk、MSN、QQ等等)的聊天工具 ==安装步骤== =QT= ==相关介绍== 英文维基百科之"qt"词条 http://en.wikipedia.org/wiki/Qt_(toolkit) <br/>QT是一种跨平台的应用开发框架,广泛用于开发GUI程序;也可用于发展非GUI程序,如控制台工具和服务器。 Qt比较出名的应用有KDE、Opera、Google Earth、Skype、Qt Extended、Adobe PhotoShop Album, VirtualBox和OPIE。它是挪威公司的Qt Software的产品,其前身是Trolltech公司的全资子公司,在2008年6月17号被诺基亚收购。 QT对C++进行了若干非标准扩展,所以要进行额外的预处理以生成标准C++代码,然后再由标准C++编译器进行编译。QT也可以通过语言的绑定,用于其他一些编程语言。它可以运行在所有主流平台,并拥有广泛的国际支持。非图形用户界面功能包括SQL数据库访问,XML解析,线程管理,网络支持和一个统一的跨平台的文件处理API。 ==安装步骤== ==QT hello world== =c#= ==相关介绍== 英文维基百科之"MonoDevelop"词条 http://en.wikipedia.org/wiki/MonoDevelop ==安装步骤== =WxWidgets= ==相关介绍== 英文维基百科之"WxWidgets"词条 http://en.wikipedia.org/wiki/Wxwidget ==安装步骤== ==相关链接== 英文维基百科之 “List of widget toolkits” http://en.wikipedia.org/wiki/List_of_widget_toolkits#Based_on_C_or_C.2B.2B_.28including_bindings_to_other_languages.29
返回
GUI开发
。
导航菜单
页面操作
页面
讨论
阅读
查看源代码
历史
页面操作
页面
讨论
更多
工具
个人工具
登录
导航
首页
最近更改
随机页面
页面分类
帮助
搜索
编辑
编辑指南
沙盒
新闻动态
字词处理
工具
链入页面
相关更改
特殊页面
页面信息