1、Tcl、Tk和Tkinter
Tkinter是Python的默认GUI库,它基于Tk工具集,后者最初是为工具命令语言(Tcl)设计的。Tk流行后被广泛移植,包括Perl(Perl/Tk)、Ruby(Ruby/Tk)、Python(Tkinter)。Tk开发GUI的可移植性和灵活性,Python脚本语言的简洁和系统语言的强劲。Python基于Tk提供了一种更高效的快速原型系统用以创建应用。Python还具有系统访问、网络操作、XML、数字可视化、数据库访问,以及所有其他标准库和第三方模块。
2、Tkinter与Python编程
Tkinter顶层窗口对象、组件(标签、按钮、列表框等等)
top=Tkinter.Tk() #创建顶层窗口对象,称作根窗口。
GUI中可创建多个顶层窗口,但它们中只能有一个根窗口。
父组件(容器)、子组件 组件具有事件、回调,事件驱动
Tk有两个坐标管理器:一个是包(packer)、一个是网格(Grid)
GUI程序类似于客户端/服务器架构,存在一个“服务器式”的无限循环。包括等待GUI事件、处理事件,然后返回等待模式,处理下一个事件。
Tkinter.mainloop() 所有组件就绪后进入主循环。一旦进入主循环,GUI开始掌握控制权,其他动作都来自回调函数。
- 顶层窗口 Tkinter.Tk()
- Tk组件Button、Canvas、Checkbutton、Entry、Frame、Label、Listbox、Menu、Menubutton、Message、Radiobutton、Scale、Scrollbar、Text、Toplevel。
偏函数应用(PFA)
偏函数允许你“预存”一些函数变量并有效地“冻结”了这些预定参数,在运行时你获得了所需的其他变量之后再把它们“解冻”出来,用这些最终确定的参数去调用函数。PFA不仅仅限于函数,对任何“可调用”的东西都有效。
3、其他的GUI简介
(1)Tk Interface eXtensions(Tix)
Tix是对Tcl/Tk的一个扩展库。
(2)Python Mega Widgets的Tkinter扩展(Pmw)
PMW扩展了Tkinter。
(3)wxWidgets 和 wxPython
(4)GTK+ 和 PyGTK