代码实例:
Python GUI编程(Tkinter)
Python 提供了多个图形开发界面的库,几个常用 Python GUI 库如下:
-
Tkinter: Tkinter 模块(Tk 接口)是 Python 的标准 Tk GUI 工具包的接口 .Tk 和 Tkinter 可以在大多数的 Unix 平台下使用,同样可以应用在 Windows 和 Macintosh 系统里。Tk8.0 的后续版本可以实现本地窗口风格,并良好地运行在绝大多数平台中。
-
wxPython:wxPython 是一款开源软件,是 Python 语言的一套优秀的 GUI 图形库,允许 Python 程序员很方便的创建完整的、功能键全的 GUI 用户界面。
-
Jython:Jython 程序可以和 Java 无缝集成。除了一些标准模块,Jython 使用 Java 的模块。Jython 几乎拥有标准的Python 中不依赖于 C 语言的全部模块。比如,Jython 的用户界面将使用 Swing,AWT或者 SWT。Jython 可以被动态或静态地编译成 Java 字节码。
Tkinter 编程
Tkinter 是 Python 的标准 GUI 库。Python 使用 Tkinter 可以快速的创建 GUI 应用程序。
由于 Tkinter 是内置到 python 的安装包中、只要安装好 Python 之后就能 import Tkinter 库、而且 IDLE 也是用 Tkinter 编写而成、对于简单的图形界面 Tkinter 还是能应付自如。
注意:Python3.x 版本使用的库名为 tkinter,即首写字母 T 为小写。
import tkinter
#创建一个GUI程序
#1、导入 Tkinter 模块
#2、创建控件
#3、指定这个控件的 master, 即这个控件属于哪一个
#4、告诉 GM(geometry manager) 有一个控件产生了。
主窗口常用操作:
1 root.title('标题名')#修改框体的名字,也可在创建时使用className参数来命名; 2 root.resizable(0,0) # 框体大小可调性,分别表示x,y方向的可变性; 3 root.geometry('250x150')#指定主框体大小; 4 root.quit() # 退出; 5 root.update_idletasks() 6 root.update()#刷新页面;
Tkinter 组件
Tkinter的提供各种控件,如按钮,标签和文本框,一个GUI应用程序中使用。这些控件通常被称为控件或者部件。
目前有15种Tkinter的部件。我们提出这些部件以及一个简短的介绍,在下面的表:
(在Tkinter中窗口部件类没有分级;所有的窗口部件类在树中都是兄弟。)
标准属性
标准属性也就是所有控件的共同属性,如大小,字体和颜色等等
几何管理
Tkinter控件有特定的几何状态管理方法,管理整个控件区域组织,一下是Tkinter公开的几何管理类:包、网格、位置
组件的放置和排版(pack,grid,place) 属性参数
pack组件设置位置属性参数: after: 将组件置于其他组件之后; before: 将组件置于其他组件之前; anchor: 组件的对齐方式,顶对齐'n',底对齐's',左'w',右'e' side: 组件在主窗口的位置,可以为'top','bottom','left','right'(使用时tkinter.TOP,tkinter.E); fill 填充方式 (Y,垂直,X,水平) expand 1可扩展,0不可扩展 grid组件使用行列的方法放置组件的位置,参数有: column: 组件所在的列起始位置; columnspam: 组件的列宽; row: 组件所在的行起始位置; rowspam: 组件的行宽; place组件可以直接使用坐标来放置组件,参数有: anchor: 组件对齐方式; NW N NE E SE S SW W CENTER x: 组件左上角的x坐标; y: 组件右上角的y坐标; relx: 组件相对于窗口的x坐标,应为0-1之间的小数; rely: 组件相对于窗口的y坐标,应为0-1之间的小数; width: 组件的宽度; heitht: 组件的高度; relwidth: 组件相对于窗口的宽度,0-1; relheight: 组件相对于窗口的高度,0-1;