摘要: 用单引号代替双引号来包含字符串,这样做会更快一些。因为PHP会在双引号包围的字符串中搜寻变量,单引号则不会,注意:只有echo能这么做,它是一种可以把多个字符串当作参数的“函数”(译注:PHP手册中说echo是语言结构,不是真正的函数,故把函数加上了双引号)。 1、如果能将类的方法定义成static,就尽量定义成static,它的速度会提升将近4倍。 2、$row[’id’] 的速度是$row[id]的7倍。 3、echo 比 print 快,并且使用echo的多重参数(译注:指用逗号而不是句点)代替字符串连接,比如echo $str1,$str2。 4、在执行for循环之前确定最大循... 阅读全文
posted @ 2011-11-24 11:48 ~·boer·~· 阅读(121) 评论(0) 推荐(0)
摘要: 在本章节,也就是本教程最后一章啦!我们将向大家战士如何去自己DIY一个通用的构件。在内容里我们还将用到Cairo 图形函数工具库CPU widget在接下来的示例中我们将一步一步地制作一个“CPU 构件”。/* cpu.h */#ifndef __CPU_H#define __CPU_H#include <gtk/gtk.h>#include <cairo.h>G_BEGIN_DECLS#define GTK_CPU(obj) GTK_CHECK_CAST(obj, gtk_cpu_get_type (), GtkCpu)#define GTK_CPU_CLASS(kl 阅读全文
posted @ 2011-11-24 11:40 ~·boer·~· 阅读(381) 评论(0) 推荐(0)
摘要: 在本章的Gtk+程序设计教程中,我们将重点介绍 GtkTexView 构件。 GtkTexView w构件被常常用来显示和编辑多行的文本。正如我们一再提到的,GtkTexBuffer 构件也是给予MVC的设计。GtkTextView 就是显示(view)元素而 GtkTexBuffer 则代表了model 元素。GtkTexBuffer 常常被用来处理文本数据。GtkTextTag则是一种被用于文本的属性。 GtkTextIter则是代表了两个字符之间的空隙。那么很好理解,文本的排版操作多用iterators。 阅读全文
posted @ 2011-11-24 11:39 ~·boer·~· 阅读(672) 评论(0) 推荐(0)
摘要: 在本章的GTK+程序设计教程中,我们将向大家重点介绍非常常用也有点复杂的构件——GtkTreeView 。 GtkTreeView 构件是一个高级的构件,利用他你就可以制作出漂亮的普通列表或者是树状的列表。这个构件里可以包含一或者多行。他的构架呢?正是采用了大名鼎鼎的MVC (Model View Controller) 设计框架。也就是说数据和显示方式是进行了一种分离的操作。 之前我们有说过复杂这个问题,于是在GtktreeView构件中确实还有着其他几个独立的对象结构(objects)。其中 GtkCellRenderer 就决定了在GtkTreeViewColumn. 中的数据究竟是如何来进行显示呈现的。GtkListStore 和 GtkTreeStore 的功能为体现模型(model)的作用。也就是说他们是用来处理和分析将要在GtkTreeView显示的数据的。 GtkTreeIter 则是一个数据结构被用于在GtkTreeView构件中,对行中的数据进行操作。 GtkTreeSelection 则是用来处理选项的。 阅读全文
posted @ 2011-11-24 11:39 ~·boer·~· 阅读(386) 评论(0) 推荐(0)
摘要: 在本章的GTK+程序设计中,我们仍然要继续向大家介绍和展示各种各样的构件。GtkComboBoxGtkComboBox构件的作用是让程序使用者根据不同的需求从很多选项中进行选择。#include <gtk/gtk.h>void combo_selected(GtkWidget *widget, gpointer window){ gchar *text = gtk_combo_box_get_active_text(GTK_COMBO_BOX(widget)); gtk_label_set_text(GTK_LABEL(window), text); g_free(text);}i 阅读全文
posted @ 2011-11-24 11:38 ~·boer·~· 阅读(202) 评论(0) 推荐(0)
摘要: 在本章的GTK+程序设计教程中,我们将带领大家去更深一步的去领略GTK+构件的魅力。 毫无疑问,构件是建立一个GUI应用程序的基础。在很多年来的发展下,一些特定的构件逐渐就成为了大多数编程工具集(toolkits)和几乎所有操作系统的公用标准了。譬如说,按钮,选择框或者是一个滑动条。至于像GTK+这样的编程工具集,一开始他的设计人员所抱的哲学态度是:保持构件的数量在一个合理的范围内。正是由于这一点,越来越多的专用构件,被抽象为通用的构件,供大家使用。 阅读全文
posted @ 2011-11-24 11:37 ~·boer·~· 阅读(522) 评论(0) 推荐(0)
摘要: 在接下来的章节中我们将着重介绍GTK+系统中的对话框。 对话框窗口是众多GUI应用程序中不可或缺的部分。对话框经常是很多人进行信息交流的桥梁。在计算机中,对话框也经常扮演着我们和应用程序进行对话的工具。对话框可以用来输入数据,修改数据,或者改变应用程序的使用设置信息。对话框是一个人机交互的重要手段。 阅读全文
posted @ 2011-11-24 11:36 ~·boer·~· 阅读(433) 评论(0) 推荐(0)
摘要: 在我们教程的这一个章节中,我们会谈一谈GTK+函数工具库中的,“事件”系统 。 GTK+函数工具库是基于 “事件”系统的。所有的 GUI 应用程序无一例外都是基于“事件”驱动的。假如没有“事件”发生,则应用程序就什么都不会做。在GTK+中一个事件就是从X窗口服务器传出来的一个消息。当一个“事件”发生时,他就会通过发送一个“信号”来表示他已经做出了反应。利用GTK+还可以为“信号”绑定专门的回调函数。也就是说回调函数只对他特定的“信号”才有反应并执行。 阅读全文
posted @ 2011-11-24 11:35 ~·boer·~· 阅读(1069) 评论(0) 推荐(0)
摘要: 在本章中,我们将讲述如何将构件布置在窗口与对话框中。 当我们在设计应用程序的图形界面时,我们首先要决定的是在程序中用到哪种构件和管理应用程序中的这些构件。为了方便管理我们的构件,在GTK+通常使用不可见的构件称作layout containers. 。在本章节中,我们将设计其中的—— GtkAlignment, GtkFixed, GtkVBox 和 GtkTable. 阅读全文
posted @ 2011-11-24 11:34 ~·boer·~· 阅读(283) 评论(0) 推荐(0)
摘要: 在这个部分的GTK+程序设计教程中,我们使用“菜单”和“工具栏”。“菜单”( menubar) 是GUI程序中最为常见的部分之一。各种各样的命令和功能都可以借以“菜单”来实现。 当我们习惯在终端(console)中启动应用程序的时候,必须要记得很多复杂的命令和参数 ,在本章节中我们将 这一切都转化为可见的操作。菜单和工具栏中标准化的操作,将让你摆脱学习新软件所耗费的大量时间和精力。简单的菜单示列在我们的第一个例子中,我们将生成一个含有文件菜单的菜单栏。文件菜单将只有一个菜单条(menu item)。如果点击这个菜单条程序将退出。#include <gtk/gtk.h>int mai 阅读全文
posted @ 2011-11-24 11:33 ~·boer·~· 阅读(330) 评论(0) 推荐(0)
摘要: 在这一章节中,我们将开始编写第一个GTK+程序。超级简单的例子我们要“制造”一个超级简单的GTK+程序。就是显示一个空白的窗口。#include <gtk/gtk.h>int 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;}这个例子就是为我们显示了一个空白的窗口。 gcc -o sim 阅读全文
posted @ 2011-11-24 11:31 ~·boer·~· 阅读(130) 评论(0) 推荐(0)
摘要: 本GTK+程序初级教程采用了“引导”式的方法来教你如何使用GTK+。本教程所用的编程语言为C语言。并且整个教程中方法已经在Linux中测试通过。本教程适用GTK+的初级兼代中级水平的程序员。 阅读全文
posted @ 2011-11-24 11:29 ~·boer·~· 阅读(320) 评论(0) 推荐(0)
摘要: 你现在读的是一个GTK+程序设计的教程。在本教程中所用的语言是C语言。从难度上来讲更加适合初学者或者中级学者。为了帮助您更好的去理解和熟悉GTK+程序设计的真谛。 阅读全文
posted @ 2011-11-24 11:26 ~·boer·~· 阅读(331) 评论(0) 推荐(0)