写在前面的话
我用的python版本是3.4,好多第三方库不兼容啊有木有!! 我本来想学wxpython来着....
真心不知道python3.4除了用tkinter以外,还有没有其他的选择。
(python3*下的GUI选择还是挺多的,比如pyqt、PyGTK等等...........臣妾知道的太晚了,臣妾不服啊!!!!!!!!--2015年4月16日注)
言归正传,先来介绍一下tkinter
Tkinter库是python的默认GUI库,它基于Tk工具集。Tkinter库提供了对Tk API的接口,它属于Tcl/Tk的GUI工具组。Tcl/Tk是由John Ousterhout发展的书写和图形设备。Tcl(工具命令语言)是个宏语言,用于简化shell下复杂程序的开发,Tk工具包是和Tcl一起开发的, 目的是为了简化用户接口的设计过程。Tk工具包由许多不同的小部件,如一个按钮、一个滚动条等。通过Tk提供的这些小部件,我们就可快速地进行GUI开 发。Perl、Scheme等语言也利用Tk库进行GUI开发。Tkinter是跨平台,在各种平台下都能使用。
要创建GUI程序,下面五步是基本的:
1. 导入Tkinter模块
2. 创建一个顶层窗口对象,来容纳您的整个GUI程序
3. 在您的顶层窗口对象上创建所有的GUI模块。
4. 把这些GUI模块与顶层程序相连接
5. 进入主事件循环
2. 创建一个顶层窗口对象,来容纳您的整个GUI程序
3. 在您的顶层窗口对象上创建所有的GUI模块。
4. 把这些GUI模块与顶层程序相连接
5. 进入主事件循环
GUI开发就像画画一样,顶层窗口对象最为画布,画布上面绘制着好多小窗口对象,比如文字标签、按钮、列表框等组件。
通常,组件会有一些相应的行为,例如按钮被按下,或者文本框被写入。这种形式的用户行为被称为事件,而GUI程序对事件所采取的响应动作被称为回调。GUI程序正是由这伴随其始末的整套事件体系所驱动的。这个过程被称作事件驱动处理。
当你启动一个GUI程序时,它必须执行一些初始化历程来为核心功能的运行做准备。
至于组件的排列,Tk有两个坐标管理器用来协助将组建放在正确的位置上。一个坐标管理器是packer(包),另一个是Grid(网格)。
一旦组件排列完成并显示在屏幕上,GUI程序就进入了一个服务器式的无限循环。这个循环包括等待GUI事件、处理事件、然后返回等待模式,等待下个事件。
15 种常见的TK控件:Button,Canvas,Checkbutton,Entry,Frame,Lebel,Listbox,Menubutton,Menu,Message,Radiobutton,Scale,Scrollbar,Text,Toplevel,Spinbox,PanedWindow,LabelFrame,tkMessageBox
这些空间具有一些共同的属性:
tkinter的三种几何管理方法:
|
第一个窗口
import tkinter #注意!在python3.3后大量的库名首字母编程小写!
top=tkinter.Tk() #准备一个画布
label=tkinter.Label(top,text="hello world") #在画布上添加label组件
label.pack() #将label组件显示出来
top.mainloop() #进入无限循环
又一个helloworld
from tkinter import *
root = Tk()
root.title('hello world')
root.mainloop()
如果有什么疑问欢迎到我的微信公众号提问~