2008年11月04日 星期二 08:31
On Sun, Nov 02, 2008 at 09:43:59PM +0800, Jianjun Kong wrote: >On Sun, Nov 02, 2008 at 01:20:57PM +0800, PGP__GH wrote: >>刚刚修改了一下,在帮忙看看! > >== Tkinter 编程 == > Tkinter是Python中的一种比较流行的图形编程接口。Tkinter模块("TK接口")是Python的标准Tk GUI工具包的接口。TK和Tkinter是为数不多的跨平台的脚本图形界面接口,被应用在多个系统中,如Unix、Windows和Macintosh系统。 > Tkinter包含了若干模块. Tk接口被封装在一个名为 _tkinter二进制模块里( tkinter 的早期版本). 这个模块包含了Tk的低级接口,因而它不会被程序员直接应用.它通常表现为一个共享库(或DLL文件),通过Tkinter.py来使用,但在一些版本中它与Python解释器结合在一起。 > Tkinter中的GUI总是有一个root窗口,不管你是主动或者被动获得.主窗口就是程序开始运行的时候创建的,在主窗口中你通常是放置了你主要的部件.另外,Tkinter脚本可以依据需要创建很多独立的窗口,主要的方法就是通过创建Toplevel对象。每一个Toplevel对象都创建一个显示的窗口,不需要通过mainloop方法调用。 >在Tkinter编程中应注意的问题: > 在Tk接口的附加模块中,Tkinter包含了一些Python模块,保存在标准库的一个子目录里,称为 tkinter。 其中有两个重要的模块,一个是Tkinter本身,另一个叫做Tkconstants:前者自动导入后者,所以你如果使用Tkinter,仅仅导入一个模块就可以 > import Tkinter >或者 > from Tkinter import * > >那么让我们来体验一下Tkinter的图形设计的魅力吧。 > >下来我们就来编写一个最常见的程序“Hello,world”。 > >#filename: pcs-217-1.py > >#coding:utf-8 >from Tkinter import * >#导入Tkinter模块 >root = Tk() >#创建一个root Widget >w = Label(root,text = "Hello,world!") >#w是root的子窗口,而text是w的一个选项,表示w中要显示的内容 >w.pack() >#在pack后,计算好Label的大小,最终显示在屏幕上 >root.mainloop() >#mainloop()除里内部的widget的更新,和来自Windows Manager的通信 > >运行程序: >~$ python pcs-217-1.py > >截图: > >当然,对于上面这样的小程序,我们可以直接将其写在一个文件里。但是对于一个较大的程序,最好将它写在一个类中,如下: > >#filename: pcs-217-2.py > >#coding:utf-8 >from Tkinter import * >class App: > def __init__(self, master): > #Frame widget > frame = Frame(master) > frame.pack() > > self.button = Button ( frame, # master widget > text="QUIT", > fg="red", > command=frame.quit > ) > self.button.pack(side=LEFT) > self.hi_there = Button(frame, > text="Hello", > command=self.say_hi > ) > self.hi_there.pack(side=LEFT) > def say_hi(self): > print "Welcome to the world of Python!" >root = Tk() >app = App(root) >root.mainloop() > >运行程序: >~$ python pcs-217-2.py > >如果你按"hello"的按钮,会在控制台上打印"Welcome to the world of Python!" >截图: > >在图形设计过程,经常会涉及到一些布局的美化和合理放置,从而使用户看起来效果会更友好。为了解决这个问题,在Tkinter中引入了这样一个概念。 >Geometry Manager(几何管理器) > >Tk提供了几个Geometry Manager,主要是为了帮助开发者完成在布局中的widget的放置。 >一般Tk有三种几何管理器: >Pack >Grid >Place >着重介绍一下Pack管理器 >Pack管理器的使用方法很简单 w.pack(options),其中,w是一个widget。常用的options有: >side 表示把w放在那个边上,可以是TOP,BOTTOM,LEFT,RIGHT >padx和pady 表示parcel的每一个边和w之间预留的空间 >ipadx和ipady 表示w的每一个边和w内包含的内容之间的预留的空间,w会因此变大 >fill 可以是None,x,y,both。如果parcel太大了,那就会根据fill的值来增加子窗口的大小: >None :表示维持子窗口原来的大小 >X : 表示只扩大子窗口的宽度 >Y : 表示只扩大子窗口的高度 >BOTH :表示同时扩大子窗口的宽度和高度 >值得注意的是,fill是指子窗口的大小和parcel的大小的关系。决定子窗口怎样改变自己的大小,来适应parcel的大小。 > >思考: >在利用Tkinter来设计图形界面时,如果不使用root(),会出现什么结果? ----------------- 请大家看看,上面的内容,是否可以添加到LovPy当中,这是审校成员GaoHui写的。 如果可以,代码格式等细节我帮他搞定。 昨天和lisa编辑,沟通了一下,考虑整书的内容相关性,后面不再添加这种模块。而是继续作校对 ;) -- Jianjun Kong @_@ Happy Hacking Homepage: http://kongove.cn/ Gtalk: kongjianjun在gmail.com
2008年11月04日 星期二 08:52
2008/11/4 Jianjun Kong <kongjianjun at gmail.com>: >>>刚刚修改了一下,在帮忙看看! >> >>== Tkinter 编程 == 这是个非常实用的部分,可以同 CDayN 中的桌面化结合引用, 不过,PCS 是有描述层次的, 从 概述到一般使用,到高级使用,到最后的常见问题解决, 是要求在精简的篇幅中,完整的对某一方面的基础知识进行完备简介的! Tkinter 也是常用库,建议: + 增补高级使用中,创建一个CDays 的简易前端,代码小于50行,完成 Comment 界面的所有功能 + 增补Tkinter 的中文处理技巧,在问题一节,,, 提醒,理解和使用 PCS 的模板! 以上! 校对团队非常勤劳哪!敬佩! 不过,可以将团队分成不同部分,同步进行校对,和增补哪,,, >> Tkinter是Python中的一种比较流行的图形编程接口。Tkinter模块("TK接口")是Python的标准Tk GUI工具包的接口。TK和Tkinter是为数不多的跨平台的脚本图形界面接口,被应用在多个系统中,如Unix、Windows和Macintosh系统。 >> Tkinter包含了若干模块. Tk接口被封装在一个名为 _tkinter二进制模块里( tkinter 的早期版本). 这个模块包含了Tk的低级接口,因而它不会被程序员直接应用.它通常表现为一个共享库(或DLL文件),通过Tkinter.py来使用,但在一些版本中它与Python解释器结合在一起。 >> Tkinter中的GUI总是有一个root窗口,不管你是主动或者被动获得.主窗口就是程序开始运行的时候创建的,在主窗口中你通常是放置了你主要的部件.另外,Tkinter脚本可以依据需要创建很多独立的窗口,主要的方法就是通过创建Toplevel对象。每一个Toplevel对象都创建一个显示的窗口,不需要通过mainloop方法调用。 >>在Tkinter编程中应注意的问题: >> 在Tk接口的附加模块中,Tkinter包含了一些Python模块,保存在标准库的一个子目录里,称为 tkinter。 其中有两个重要的模块,一个是Tkinter本身,另一个叫做Tkconstants:前者自动导入后者,所以你如果使用Tkinter,仅仅导入一个模块就可以 >> import Tkinter >>或者 >> from Tkinter import * >> >>那么让我们来体验一下Tkinter的图形设计的魅力吧。 >> >>下来我们就来编写一个最常见的程序"Hello,world"。 >> >>#filename: pcs-217-1.py >> >>#coding:utf-8 >>from Tkinter import * >>#导入Tkinter模块 >>root = Tk() >>#创建一个root Widget >>w = Label(root,text = "Hello,world!") >>#w是root的子窗口,而text是w的一个选项,表示w中要显示的内容 >>w.pack() >>#在pack后,计算好Label的大小,最终显示在屏幕上 >>root.mainloop() >>#mainloop()除里内部的widget的更新,和来自Windows Manager的通信 >> >>运行程序: >>~$ python pcs-217-1.py >> >>截图: >> >>当然,对于上面这样的小程序,我们可以直接将其写在一个文件里。但是对于一个较大的程序,最好将它写在一个类中,如下: >> >>#filename: pcs-217-2.py >> >>#coding:utf-8 >>from Tkinter import * >>class App: >> def __init__(self, master): >> #Frame widget >> frame = Frame(master) >> frame.pack() >> >> self.button = Button ( frame, # master widget >> text="QUIT", >> fg="red", >> command=frame.quit >> ) >> self.button.pack(side=LEFT) >> self.hi_there = Button(frame, >> text="Hello", >> command=self.say_hi >> ) >> self.hi_there.pack(side=LEFT) >> def say_hi(self): >> print "Welcome to the world of Python!" >>root = Tk() >>app = App(root) >>root.mainloop() >> >>运行程序: >>~$ python pcs-217-2.py >> >>如果你按"hello"的按钮,会在控制台上打印"Welcome to the world of Python!" >>截图: >> >>在图形设计过程,经常会涉及到一些布局的美化和合理放置,从而使用户看起来效果会更友好。为了解决这个问题,在Tkinter中引入了这样一个概念。 >>Geometry Manager(几何管理器) >> >>Tk提供了几个Geometry Manager,主要是为了帮助开发者完成在布局中的widget的放置。 >>一般Tk有三种几何管理器: >>Pack >>Grid >>Place >>着重介绍一下Pack管理器 >>Pack管理器的使用方法很简单 w.pack(options),其中,w是一个widget。常用的options有: >>side 表示把w放在那个边上,可以是TOP,BOTTOM,LEFT,RIGHT >>padx和pady 表示parcel的每一个边和w之间预留的空间 >>ipadx和ipady 表示w的每一个边和w内包含的内容之间的预留的空间,w会因此变大 >>fill 可以是None,x,y,both。如果parcel太大了,那就会根据fill的值来增加子窗口的大小: >>None :表示维持子窗口原来的大小 >>X : 表示只扩大子窗口的宽度 >>Y : 表示只扩大子窗口的高度 >>BOTH :表示同时扩大子窗口的宽度和高度 >>值得注意的是,fill是指子窗口的大小和parcel的大小的关系。决定子窗口怎样改变自己的大小,来适应parcel的大小。 >> >>思考: >>在利用Tkinter来设计图形界面时,如果不使用root(),会出现什么结果? > > ----------------- > 请大家看看,上面的内容,是否可以添加到LovPy当中,这是审校成员GaoHui写的。 > 如果可以,代码格式等细节我帮他搞定。 > > 昨天和lisa编辑,沟通了一下,考虑整书的内容相关性,后面不再添加这种模块。而是继续作校对 ;) > -- http://zoomquiet.org''' 过程改进乃是催生可促生靠谱的人的组织! PE keeps evolving organizations which promoting people be good!''' [HR]金山软件常年招聘大量Py/C++人才! https://groups.google.com/group/python-cn/web/ot-py-c 简历直投俺就好;-)
2008年11月04日 星期二 09:54
On Tue, Nov 04, 2008 at 08:52:01AM +0800, Zoom.Quiet wrote: >2008/11/4 Jianjun Kong <kongjianjun在gmail.com>: >>>>刚刚修改了一下,在帮忙看看! >>> >>>== Tkinter 编程 == > >这是个非常实用的部分,可以同 CDayN 中的桌面化结合引用, >不过,PCS 是有描述层次的, >从 概述到一般使用,到高级使用,到最后的常见问题解决, 是要求在精简的篇幅中,完整的对某一方面的基础知识进行完备简介的! > >Tkinter 也是常用库,建议: >+ 增补高级使用中,创建一个CDays 的简易前端,代码小于50行,完成 Comment 界面的所有功能 >+ 增补Tkinter 的中文处理技巧,在问题一节,,, >提醒,理解和使用 PCS 的模板! ACK. >以上! 校对团队非常勤劳哪!敬佩! >不过,可以将团队分成不同部分,同步进行校对,和增补哪,,, OK. ....
Zeuux © 2024
京ICP备05028076号