Python GUI编程(Tkinter)

Posted 董昱锦

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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

 

 

 

以上是关于Python GUI编程(Tkinter)的主要内容,如果未能解决你的问题,请参考以下文章

python GUI编程(Tkinter)

Python GUI编程(Tkinter)

Python GUI编程(tkinter)

Python GUI编程(Tkinter)Menu顶层菜单

Python GUI编程(Tkinter)Scale控件

Python GUI编程(Tkinter)Spinbox控件