一、GUI(Graphical User Interface,图像用户界面)编程
Python 提供了多个图形开发界面的库,几个常用 Python GUI 库如下:
Tkinter: Tkinter 模块(Tk 接口)是 Python 的标准 Tk GUI 工具包的接口 .Tk 和 Tkinter 可以在大多数的 Unix 平台下使用,同样可以应用在 Windows 和 Macintosh 系统里。Tkinter 是 Python 的标准 GUI 库。Python 使用 Tkinter 可以快速的创建 GUI 应用程序。由于 Tkinter 是内置到 python 的安装包中、只要安装好 Python 之后就能 import Tkinter 库、而且 IDLE 也是用 Tkinter 编写而成、对于简单的图形界面 Tkinter 还是能应付自如。
wxPython:wxPython 是一款开源软件,是 Python 语言的一套优秀的 GUI 图形库,允许 Python 程序员很方便的创建完整的、功能健全的 GUI 用户界面。
Jython:Jython 程序可以和 Java 无缝集成。除了一些标准模块,Jython 使用 Java 的模块。Jython 几乎拥有标准的Python 中不依赖于 C 语言的全部模块。比如,Jython 的用户界面将使用 Swing,AWT或者 SWT。Jython 可以被动态或静态地编译成 Java 字节码。
二、用Tkinter 创建GUI
Tkinter 是 Python 的标准 GUI 库。Python 使用 Tkinter 可以快速的创建 GUI 应用程序。
先看一个简单的hello world!小例子:
from tkinter import *
root = Tk()
myLabel = Label(root,text='hello world!')
myLabel.grid()
root.mainloop()
结果:
Tkinter 的GUI由一些小部件(Widget)组成。所谓小部件,指的是文本框(TextBox)、按钮(Button)、标 签(Label)和复选按钮(CheckButton)等对象。在刚才的hello world例子中,标签myLabel就是其中唯一的小部件。当调用myLabel的.grid()方法时, 就等于把myLabel的位置告诉了布局管理器( Geometry Manager)。Tkinter中提供了几种不同的布局管理器,其中的.grid()方法会把小部件安排在一个二维的表格中。用户可以设定每个小部件所在的行列位置。上例中没有做任何设定,myLabel 会默认显示在0行0列。
三、集成Matplotlib 和Tkinter
Matplotlib的构建程序包含一个前端,也就是面向用户的一些代码,如plot()和scatter()方法等。事实上,它同时创建了一个后端,用于实现绘图和不同应用之间接口。通过改变后端可以将图像绘制在PNG,PDF,SVG等格式的文件上。下面将设置后端为TkAgg(Agg是一个C++的库,可以从图像创建光栅图(光栅图是位图,点阵图放大会失真,与之相对的是矢量图,