(一)常用设计图形界面的模块
Python有多种用于设计图形用户界面的模块,常用的模块有如下几种:
tkinter 使用Tk平台,Python系统自带的标准图形用户界面库。Tk是一个轻量级的跨平台图形用户界面(GUI)开发工具。
wxpython 基于wxWindows,具有跨平台的特性。
PythonWin 只能在Windows上使用,使用了本机的Windows GUI功能。
JavaSwing 只能用于Jython,使用本机的Java GUI。
PyGTK 使用GTK平台,在linux上很流行。
PyQt 使用Qt平台,跨平台。
Kivy Kivy是一个开源工具包能够让使用相同源代码创建的程序能跨平台运行。它主要关注创新型用户界面开发,如:多点触摸应用程序。
1、tkinter模块
表1 tkinter组件 ( Tk的常用控件)
组件 | 说明 |
Button | 按钮控件;在程序中显示按钮。 |
Canvas | 画布控件;显示图形元素如线条或文本 |
Checkbutton | 多选框控件;用于在程序中提供多项选择框 |
Entry | 输入控件;用于显示简单的文本内容 |
Frame | 框架控件;在屏幕上显示一个矩形区域,多用来作容器 |
Label | 标签控件;可以显示文本和位图 |
Listbox | 列表框控件;在Listbox窗口小部件是用来显示一个字符串列表给用户 |
Menubutton | 菜单按钮控件,由于显示菜单项。 |
Menu | 菜单控件;显示菜单栏,下拉菜单和弹出菜单 |
Message | 消息控件;用来显示多行文本,与label比较类似 |
Radiobutton | 单选按钮控件;显示一个单选的按钮状态 |
Scale | 范围控件;显示一个数值刻度,为输出限定范围的数字区间 |
Scrollbar | 滚动条控件,当内容超过可视化区域时使用,如列表框。. |
Text | 文本控件;用于显示多行文本 |
Toplevel | 容器控件;用来提供一个单独的对话框,和Frame比较类似 |
Spinbox | 输入控件;与Entry类似,但是可以指定输入范围值 |
PanedWindow | PanedWindow是一个窗口布局管理的插件,可以包含一个或者多个子控件。 |
LabelFrame | labelframe 是一个简单的容器控件。常用与复杂的窗口布局。 |
tkMessageBox | 用于显示你应用程序的消息框。 |
2、使用tkinter模块的基本步骤如下:
(1)导入tkinter模块
例如:
import tkinter
或 from tkinter import *
(2)创建一个顶层容器对象
例如:创建一个窗体对象
win = tkinter.Tk()
(3)在顶层容器对象中,添加其它组件;
(4)调用pack()方法进行容器的区域布局;
(5)进入主事件循环
win.mainloop()
当容器进入主事件循环状态时,容器内部的其他图形对象则处于循环等待状态,这样才能一直保持显示状态。

