首页 > 编程语言 > 详细

Python GUI编程(Tkinter)

时间:2017-12-15 23:14:42      阅读:404      评论:0      收藏:0      [点我收藏+]

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)

原文:http://www.cnblogs.com/jdy113/p/8045034.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!