2007年6月28日星期四

All the references about Glade and PyGTK.

Here is a reference collection of tutorials and articles about Glade and PyGTK. Enjoy the power of knowledge!

Graphical Interface Development with Glade2

http://www.kplug.org/glade_tutorial/glade2_tutorial/glade2_introduction.html

A series tutorials by Ishan Chattopadhyaya

http://wingtk.sourceforge.net/ishan/starting.html

Main site: GTK+, Glade, LibGlade etc. for Windows

http://wingtk.sourceforge.net/

Embedding Python in Your C Programs | Linux Journal

Embedding Python in Your C Programs | Linux Journal

Why Python? | Linux Journal

Why Python? | Linux Journal

Python 编程及GUI设计工具集 1.0版发布

喜爱Python编程的朋友们,你们是否为奔走于各各网站和私人FTP寻找文件苦恼过?希望小弟制作的的工具集能够为你的Python开发助一臂之力。

工具集内容(Windows版):

python 2.5.1

pygtk all-in-one package

glade3-3.2.2

注:文件来源于各主题网站,皆为自由软件。

工具集下载地址:

http://files-upload.com/329814/PythonGUI.rar.html

本工具集会随各软件更新而定期更新,请关注我的blog。

Libglade 参考手册 — GNOME 中国

Libglade 参考手册 — GNOME 中国

Glade vs libglade.

Glade 和 libglade 之简的关系和使用建议。

Glade

是一个图形界面的构建 GTK+/GNOME 程序界面的程序,她是所见即所得的,同 M$ 的 visual studio 中的界面设计工具类似。使用它你可以获得一个描述你界面的名为 xxx.glade 的 xml 文件,你也可以用它直接生成构建程序界面的 c/c++ 代码。

libglade

是一个用于 GTK+/GNOME 程序中的,从 xxx.glade 文件自动生成程序界面或界面中的一部分的库。 Glade 设计初衷就是要把 GTK+/GNOME 程序的界面描述从源代码里分离出来,即使用 xxx.glade 文件来描述界面,而不是把生成界面的 c 代码写再源代码中,额外的好处就是使得后期修改程序界面非常容易,你只需要使用 Glade 来调整界面即可(实际是仅仅修改了 xxx.glade 文件,无需对源程序做改动)。另外,使用 .glade 文件来生程序界面并不会影响到你的程序的效率,因为你只需要一次装入所有界面,然后在需要时直接使用。

因此,正确的使用 Glade 的方法是:采用 Glade 来生成你的程序界面的 .glade 文件,然后在你的源码中使用 libglade 提供的接口函数来生成你的界面,或界面中一部分。

技巧1

也许你并不需要使用 libglade 来生成你的整个程序界面,libglade 允许你这么做,你只需要在装载 .glade 时指定你需要的控件名即可。

技巧2

当你只需要 .glade 中的某一部分控件,而又想一次载入整个 .glade 文件时,你需要在使用 Glade 设计界面时把整个窗口设置为不可见,以免自动生成的界面显示出来,然后逐个的获取你需要的部分(glade_xml_get_widget(...))。

技巧3

通常你的应用程序里都需要一个或者更多交互式的对话框,比如首选项对话框,这时使用 .glade 来构建这些对话框就显得格外方便,按照技巧1,2 的方法就可方便的实现。

技巧4

对于需要额外控制的控件(比如实时改变其属性等),你应该给他取一个能顾名思义的名字,然后在你的源代码中定义成宏,在需要应用它时,再根据这些宏来获取控件; 或者,在装载 .glade 文件后,把所有这类控件查询出来,以后直接引用,一劳永逸。


原文出处

http://www.gnome-cn.org/documents/tutorial/glade-advance-tutorial/glade-vs-libglade

2007年6月26日星期二

如何使你的UltraEdit支持Python语法高亮

将以下文本加入到Ultraedit安装目录下的 wordfile.txt文件中,注意开头的“/L12”不能和你原有的语言重复:

/L12"Python" Line Comment = # Escape Char = \ File Extensions = PY PYW
/Indent Strings = ":"
/Function String 1 = "%[ ,^t]++def[ ]+^([a-zA-Z0-9_]+*^):"
/Function String 2 = "%[ ,^t]++^(class[ ]+[a-zA-Z0-9_]+*^):"
/Delimiters = []{}()<>="'.,:+@
/C1"Reserved Words"
and as assert
break
class continue
def del
elif else except exec
finally for from
global
if import in is
lambda
not
or object
pass print
raise range return
try
while
yield
/C2"Built-in Functions"
__import__
abs apply
basestring bool buffer
callable chr classmethod cmp coerce compile complex
delattr dict dir divmod
enumerate eval execfile
Ellipsis
file filter float frozenset
False
getattr globals group
hasattr hash help hex
id input int intern isinstance issubclass iter
joinfields
len list local long
map match max min
None NotImplemented
oct open ord
pow property
raw_input reduce reload repr round
search set setattr slice sorted str splitfields
tuple type
True
unichr unicode
vars
xrange
zip
/C3"__Methods__"
__abs__ __add__ __and__
__call__ __cmp__ __coerce__ __contains__
__del__ __delattr__ __delitem__ __delslice__ __div__ __divmod__
__eq__
__float__ __floordiv__
__ge__ __getattribute__ __getitem__ __getnewargs__ __getslice__ __gt__
__hash__ __hex__
__iadd__ __iand__ __idiv__ __ilshift__ __imod__ __imul__ __init__ __int__ __invert__ __ior__ __ipow__ __irshift__ __isub__ __iter__ __ixor__
__le__ __len__ __long__ __lshift__ __lt__
__mod__ __mul__
__ne__ __neg__ __nonzero__
__oct__ __or__
__pos__ __pow__
__radd__ __rand__ __rdiv__ __rdivmod__ __reduce__ __reduce_ex__ __repr__ __reserved__ __rfloordiv__ __rlshift__ __rmod__ __rmul__ __ror__ __rpow__ __rlshift__ __rrshift__ __rshift__ __rsub__ __rtruediv__ __rxor__
__setattr__ __setitem__ __setslice__ __str__ __sub__
__xor__
add append
capitalize center clear close conjugate copy count
decode difference discard
Decimal
encode endswith expandtabs extend
find flush fileno fromkeys
get getcontext
has_key
index insert intersection intersection_update isalnum isalpha isatty isdigit islower isspace issubset issuperset istitle isupper items iteritems iterkeys itervalues
join
keys
ljust lower lstrip
next
pop popitem
read readline readlines remove replace reverse rfind rindex rjust rsplit rstrip
seek setdefault sort split splitlines startswith strip swapcase symmetric_difference symmetric_difference_update
tell title translate truncate
union update upper
values
write writelines
zfill
/C4"__Attributes__"
__author__
__bases__
__class__
__dict__ __doc__
__email__
__methods__ __members__
__name__
__slots__
__version__
/C5"Exceptions"
ArithmeticError AssertionError AttributeError
DeprecationWarning
EnvironmentError EOFError Exception
FloatingPointError FutureWarning
ImportError IndentationError IndexError IOError
KeyboardInterrupt KeyError
LookupError
MemoryError
NameError NotImplementedError
OSError OverflowWarning OverflowError
PendingDeprecationWarning
ReferenceError RuntimeError RuntimeWarning
StandardError StopIteration SyntaxError SyntaxWarning SystemError SystemExit
TabError TypeError
UnboundLocalError UnicodeError UnicodeDecodeError UnicodeEncodeError UnicodeTranslateError UserWarning
ValueError
Warning WindowsError
ZeroDivisionError
/C6"Operators"
+=
-=
%=
/=
**=
&=
|=
^=
>>=
<<=
/C7"Common Libs"
__builtin__
__future__
__main__
aepack aetools aetypes aifc al anydbm applesingle atexit array asyncore asynchat audioop autoGIL
AL AST
base64 binascii binhex bisect bsddb buildtools bz2
BaseHTTPServer Bastion
calendar cd cfmfile cgi cgitb chunk cmath cmd code codecs codeop collections colorsys commands compileall cookielib copy_reg cPickle cStringIO csv curses
Carbon CGIHTTPServer ColorPicker Complex ConfigParser Cookie
datetime dbhash decimal difflib dircache dircmp dis distutils dl doctest dospath dumbdbm dummy_thread dummy_threading
DEVICE DocXMLRPCServer
emacs email encodings errno exceptions
EasyDialogs
fcntl filecmp fileinput findertools fl flp fm fmt fnmatch formatter fpectl fpformat ftplib
FL FrameWork
gc gdbm gensuitemodule getopt getpass gettext gl glob gopherlib grep gzip
GL
heapq hmac hotshot htmlentitydefs htmllib httplib
HTMLParser
ic icopen ihooks imaplib imageop imghdr imp imputil inspect itertools
jpeg
keyword
linecache locale lockfile logging
mac macerrors macfs macostools macpath macresource macurl2path mailbox mailcap marshal md5 mhlib mimetools mimetypes mimify mmap multifile mutex math
MacOS MimeWriter MiniAEFrame
netrc new newdir ni nis nntplib nsremote ntpath nturl2path
operator optparse os ossaudiodev
parser pdb pgdb pickle pickletools pipes pkgutil platform poly popen2 poplib posixfile posixpath pprint profile pstats py_compile pyclbr pydoc pyexpat pythonprefs
Para PixMapWrapper
quietconsole quopri
Queue
rand random re regex regsub resource rexec rfc822 rgbimg rlcompleter robotparser rotor
sched select sets sgmllib sha shelve shlex shutil signal site smtpd smtplib sndhdr snmp socket stat statcache statvfs string stringprep struct subprocess sunau symbol sys syslog
ScrolledText SimpleHTTPServer SimpleXMLRPCServer StringIO SocketServer
tabnanny tarfile tb telnetlib tempfile termios test textwrap thread threading time timeit toaiff token tokenize traceback tty turtle types tzparse
TERMIOS Tix Tkinter
unicodedata unittest urllib urllib2 urlparse user util uu
UserDict UserList UserString
videoreader
warnings waste wave weakref webbrowser whatsound whichdb whrandom winsound
xdrlib xml xmllib xmlpackage xmlrpclib
zipfile zlib zmod
/C8"Others"
array
cls
fnmatch
struct self