Differences between revisions 8 and 31 (spanning 23 versions)
Revision 8 as of 2005-08-07 05:40:51
Size: 3698
Editor: ehu4ever
Comment:
Revision 31 as of 2006-05-24 16:38:58
Size: 3203
Editor: yongshunz
Comment:
Deletions are marked like this. Additions are marked like this.
Line 1: Line 1:
## page was renamed from PyGTK 2.0 Tutorial 中文编译
Line 4: Line 5:
'''
含有章节索引的中文 文章模板
'''
Line 8: Line 6:
::-- ehu4ever [[[DateTime(2005-08-07T05:40:51Z)]]]
Line 18: Line 17:
PyGTK 2.0 是一个系列的Python模块,它提供了一个使用 GTK+ 2.X 的接口。在本篇文档的其它部分中,PyGTK是指PyGTK的2.X版本,GTK 和 GTK+ 是指GTK+的2.X 版本。Python的门户是[http://www.pygtk.org www.pygtk.org]。PyGTK的主要作者是
 
 * James Henstridge [mailto:[email protected] [email protected] ]
Line 22: Line 18:
who is assisted by the developers listed in the AUTHORS file in the PyGTK distribution and the PyGTK community.

Python is an extensible, object-oriented interpreted programming language which is provided with a rich set of modules providing access to a large number of operating system services, internet services (such as HTML, XML, FTP, etc.), graphics (including OpenGL, TK, etc.), string handling functions, mail services (IMAP, SMTP, POP3, etc.), multimedia (audio, JPEG) and cryptographic services. In addition there are many other modules available from third parties providing many other services. Python is licensed under terms similar to the LGPL license and is available for Linux, Unix , Windows and Macintosh operating systems. More information on Python is available at www.python.org . The primary Author of Python is:

    * Guido van Rossum [mailto:[email protected] [email protected] ]

GTK (GIMP Toolkit) is a library for creating graphical user interfaces. It is licensed using the LGPL license, so you can develop open software, free software, or even commercial non-free software using GTK without having to spend anything for licenses or royalties.

It's called the GIMP toolkit because it was originally written for developing the GNU Image Manipulation Program (GIMP), but GTK has now been used in a large number of software projects, including the GNU Network Object Model Environment (GNOME) project. GTK is built on top of GDK (GIMP Drawing Kit) which is basically a wrapper around the low-level functions for accessing the underlying windowing functions (Xlib in the case of the X windows system). The primary authors of GTK are:

    * Peter Mattis [mailto:[email protected] [email protected] ]
    * Spencer Kimball [mailto:[email protected] [email protected] ]
    * Josh MacDonald [mailto:[email protected] [email protected] ]

GTK is currently maintained by:

    * Owen Taylor [mailto:[email protected] [email protected] ]
    * Tim Janik [mailto:[email protected] [email protected] ]

GTK是一组面象的编程接口(API)。虽然它是用C语言写的,但是它在实现中遵循了“类”和“回调函数”的理念(pointers to functions)。

另外,还存在一个第三方的类,叫GLib,它包含的一些标准的calls,可以作为替代品。而且,GLib还包含了一些处理linked lists的函数,等等。这些可以作为替代的函数增强了GTK的可迁移性,因为GTK中的一些函数实现在另外一些类UNIX系统中是不标准或是没有的,比如g_strerror()。GLib还在一些地方对于libc版本的GTK更优秀,比如g_malloc有更强的可调试性。

在GLib的2.0版本中,使用了作为GTK类继承结构基础的类型系统,这个系统在GTK中使用广泛。有一个线程API,它抽象了各种系统平台的不同的本地线程API,而且还有loading modules的功能。

GTK使用Pango库来实现i18n的文本输出。
'''[wiki:self/pygtk_into 绪论]'''
Line 50: Line 21:

这段没什么意思,就不麻烦了

== Getting Started ==

'''[wiki:self/pygtk_getstart Getting Started]'''

=== 用PyGTK说“Hello” ===

'''[wiki:self/pygtk_sayhello 用PyGTK说“Hello”]'''

=== 事件信号 和 函数调用的理论 ===

'''[wiki:self/pygtk_callback 事件信号 和 函数调用的理论]'''

=== Events ===

'''[wiki:self/pygtk_events 五花八门的事件]'''

=== Stepping Through Hello World ===

'''[wiki:self/pygtk_sthello hello world庖丁解牛]'''


== COME ON!! 继续前进吧 ==

=== 对“信号处理”了解更多 ===

=== Hello World的火力加强版 ===

'''[wiki:self/pygtk_movingon COME ON!! 继续前进吧]'''

== 对widget进行排版 ==

一个GUI程序的主窗口一般是不只一二个widget的,我们的第一个程序只有一个widget,所以我们简单地使用了gtk.Container.add()来把widget放进主窗口。那么,当我们要同时在主窗口中组织多个widget时,我们怎么来处理widget之间以及widget和主窗口之间的位置关系呢??????????

这就是我们学习packing的理由了。

=== 魔力box ===

'''[wiki:self/pygtk_box 魔力box]'''

=== 打开box ===

'''[wiki:self/pygtk_openbox 打开box]'''

=== 小试牛刀 ===

'''[wiki:self/pygtk_demo 小试牛刀]'''

=== 表格方式排版 ===

'''[wiki:self/pygtk_packtable 表格方式排版]'''

=== 表格排版示例 ===

'''[wiki:self/pygtk_tabledemo 表格排版示例]'''

== widget初步领略 ==

使用widget的一般步骤是:

 * 调用widget的构造函数:gtk.*
 * 为widget定义好各种事件处理
 * 定义widget的各种属性
 * 用适当的方法把widget放入某一个容器中:gtk.Container.add()或是gtk.Box.pack_start()。
 * 显示widget:gtk.Widget.show()

=== Widget们的类型层次结构 ===

'''[wiki:self/pygtk_widgetshi Widget们的类型层次结构]'''

=== 在离开窗口的日子里 ===

'''[wiki:self/pygtk_withoutwindows 在离开窗口的日子里]'''

== 按一下按钮 ==

=== 普通货色 ===

'''[wiki:self/pygtk_buttons 普通货色]'''

=== Toggle Buttons ===

'''[wiki:self/pygtk_togglebuttons Toggle Buttons]'''

=== Check Buttons ===

'''[wiki:self/pygtk_checkbuttons Check Buttons]'''

=== Radio Buttons ===

'''[wiki:self/pygtk_radiobuttons Radio Buttons]'''

== 找准自己的位置 ==

=== 左顾右盼、瞻前顾后 ===

'''[wiki:self/pygtk_creatingadj 左顾右盼、瞻前顾后]'''

=== 画地为牢 ===

'''[wiki:self/pygtk_usingadj 画地为牢]'''

=== 深入讲解 ===

'''[wiki:self/pygtk_internals 深入讲解]'''

== 只能看见一部分^o^ ==

== widget大杂烩 ==

== 可以装别的widget的widget ==

== 来份菜单 ==

== 我要涂鸦 ==
== 1+1在什么情况下不等于2 ==

TableOfContents

1. PyGTK 2.0 Tutorial 中文编译

原作者:John Finlay

Version 2.4

April 13, 2005

1.1. 绪论

[wiki:self/pygtk_into 绪论]

1.1.1. 浅析PyGTK

这段没什么意思,就不麻烦了

1.2. Getting Started

[wiki:self/pygtk_getstart Getting Started]

1.2.1. 用PyGTK说“Hello”

[wiki:self/pygtk_sayhello 用PyGTK说“Hello”]

1.2.2. 事件信号 和 函数调用的理论

[wiki:self/pygtk_callback 事件信号 和 函数调用的理论]

1.2.3. Events

[wiki:self/pygtk_events 五花八门的事件]

1.2.4. Stepping Through Hello World

[wiki:self/pygtk_sthello hello world庖丁解牛]

1.3. COME ON!! 继续前进吧

1.3.1. 对“信号处理”了解更多

1.3.2. Hello World的火力加强版

[wiki:self/pygtk_movingon COME ON!! 继续前进吧]

1.4. 对widget进行排版

一个GUI程序的主窗口一般是不只一二个widget的,我们的第一个程序只有一个widget,所以我们简单地使用了gtk.Container.add()来把widget放进主窗口。那么,当我们要同时在主窗口中组织多个widget时,我们怎么来处理widget之间以及widget和主窗口之间的位置关系呢??????????

这就是我们学习packing的理由了。

1.4.1. 魔力box

[wiki:self/pygtk_box 魔力box]

1.4.2. 打开box

[wiki:self/pygtk_openbox 打开box]

1.4.3. 小试牛刀

[wiki:self/pygtk_demo 小试牛刀]

1.4.4. 表格方式排版

[wiki:self/pygtk_packtable 表格方式排版]

1.4.5. 表格排版示例

[wiki:self/pygtk_tabledemo 表格排版示例]

1.5. widget初步领略

使用widget的一般步骤是:

  • 调用widget的构造函数:gtk.*
  • 为widget定义好各种事件处理
  • 定义widget的各种属性
  • 用适当的方法把widget放入某一个容器中:gtk.Container.add()或是gtk.Box.pack_start()。
  • 显示widget:gtk.Widget.show()

1.5.1. Widget们的类型层次结构

[wiki:self/pygtk_widgetshi Widget们的类型层次结构]

1.5.2. 在离开窗口的日子里

[wiki:self/pygtk_withoutwindows 在离开窗口的日子里]

1.6. 按一下按钮

1.6.1. 普通货色

[wiki:self/pygtk_buttons 普通货色]

1.6.2. Toggle Buttons

[wiki:self/pygtk_togglebuttons Toggle Buttons]

1.6.3. Check Buttons

[wiki:self/pygtk_checkbuttons Check Buttons]

1.6.4. Radio Buttons

[wiki:self/pygtk_radiobuttons Radio Buttons]

1.7. 找准自己的位置

1.7.1. 左顾右盼、瞻前顾后

[wiki:self/pygtk_creatingadj 左顾右盼、瞻前顾后]

1.7.2. 画地为牢

[wiki:self/pygtk_usingadj 画地为牢]

1.7.3. 深入讲解

[wiki:self/pygtk_internals 深入讲解]

1.8. 只能看见一部分^o^

1.9. widget大杂烩

1.10. 可以装别的widget的widget

1.11. 来份菜单

1.12. 我要涂鸦

1.13. 1+1在什么情况下不等于2

PyGTK2_Tutorial_cn (last edited 2009-12-25 07:16:38 by localhost)