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 为小写
创建一个GUI程序
- 1、导入 Tkinter 模块
- 2、创建控件
- 3、指定这个控件的 master, 即这个控件属于哪一个
- 4、告诉 GM(geometry manager) 有一个控件产生了。
1 #!/usr/bin/env python 2 #coding:utf-8 3 4 from Tkinter import * #导入Tkinter库 5 6 root=Tk() #创建窗口 7 root.mainloop() #开始事件循环
在Python2下运行
改变窗口
定义标题
添加一个按钮(Button)和一个标签(Label)
btn = Button(root, text='这是一个按钮'),代表创建了一个按钮,btn.pack() 表示把 btn 放在主窗口上,pack 是一种布局方式
Label 可以通过 config 的方法来设置文字。
日记本 小程序
saveBtn.pack(side=LEFT, anchor='sw') 表示把按钮设置在左下,side 有4个值,TOP、BOTTOM、LEFT、RIGHT,默认为 TOP
anchor 是对齐方式,sw 即 southwest(西南)的,也就是左下,以此类推,一共有9个值 n、s、w、e、nw、sw、se、ne、center,默认是 center
先看写日记时,需要用到 Entry 和 Text,Entry 是一个简单的输入控件,Text 用来显示多行文本。
StringVar 是一个字符串变量类型,textvariable 表示文本框中的值,写 textvariable=textVar 是为了方便我们后期对标题的一些操作
再来看看日记时,需要显示一个列表,这就要用到 ListBox
比起其他的控件多了一步,不过也是很简单的,默认的列表高度太小了,所以用 height=300 设置了一下高度
但这时列表是空的,我们需要有个数据源,变量,向列表中插入数据
完善一下日记本的功能
第一步,我们把要用到的控件写好,其中 entry、text 和 listBox 先不要放到主窗口上
下一步定义一个方法,用于创建文件夹,并切换工作目录到该文件夹中
导入 os 模块,import os
如何给按钮添加点击事件,先看写日记的时候
command=write 表示点击这个按钮时候,会执行 write 方法,然后我们来写一下 wirte