Python程序设计案例课堂第二篇核心技术第十章图形用户界面
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第10章
图形用户界面
Python本身并没有包含操作图形模式(GUI)的模块,而是使用tkinter来做图形化的处理。tkinter是Python的标准GUI库,应用非常广泛。本章重点学习tkinter 的使用方法和tkinter中的控件的具体操作方法。通过本章的学习,读者可以轻松地制作出符合要求的图形用户界面。
本章要点(已掌握的,在方框中打钩)
熟悉常用的Python GUI。
掌握使用tkinter创建GUI程序的方法。
熟悉认识tkinter的常用控件。掌握控件几何位置的设置方法。掌握Button控件的使用方法。掌握Checkbutton控件的使用方法。掌握Canvas控件的使用方法。掌握Entry控件的使用方法。
掌握Label控件的使用方法。掌握Listbox控件的使用方法。掌握Menu控件的使用方法。掌握Message控件的使用方法。掌握Radiobutton控件的使用方法。掌握Scale控件的使用方法。
掌握Scrollbar控件的使用方法。掌握Text控件的使用方法。
掌握Toplevel控件的使用方法。掌握对话框的使用方法。
10.1 常用的Python GUI
图形用户界面(Graphical User Interface,GUI,又称图形用户接口)是指采用图形方式显示的计算机操作用户界面。Python提供了多个图形开发界面的库,几个常用Python GUI库如下。
1. tkinter
tkinter是Python的标准GUI接口。它不仅可以运行在Windows系统里,还可以在大多数的UNIX平台下使用。由于tkinter库使用非常广泛,所以本章将重点讲述tkinter模块的使用方法和技巧。
2. wxPython
wxPython 是一款开源软件,是 Python 语言的一套优秀的 GUI 图形库,允许 Python 程序员很方便地创建完整的、功能健全的GUI用户界面。
wxPython是使用Python语言写的GUI工具程序,它是wxWindows C++函数库的转换器,wxPython可以跨平台。
3. Jython
Jython程序可以和Java无缝集成。除了一些标准模块外,Jython使用Java的模块。Jython几乎拥有标准的Python中不依赖于C语言的全部模块。比如,Jython的用户界面将使用Swing、AWT或者SWT。Jython可以被动态或静态地编译成Java字节码。
10.2 使用tkinter创建GUI程序
tkinter是Python的标准GUI库。Python使用tkinter可以快速地创建GUI应用程序。由于tkinter是内置到Python的安装包中的,只要安装好Python之后就能加载tkinter库。对于简单的图形界面,使用tkinter库可以轻松完成。
当安装好Python 3.5后,tkinter也会随之安装。所以用户要使用tkinter的功能,只需加载tkinter模块即可。如下所示:
>>>import tkinter
下面使用tkinter库创建一个简单的图形用户界面。
【案例10-1】创建简单的图形用户界面(代码10.1.py)。
1. import tkinter
2. win = ()
3. win.title(string = "古诗鉴赏")
4. b = bel(win, text="花间一壶酒,独酌无相亲。举杯邀明月,对影成三人。")
5. b.pack()
6. win.mainloop()
第10章 图形用户界面
保存并运行程序,结果如图10-1所示。
C:\Users\Administrator>python d:\python\ch10\10.1.py
图10-1 程序运行结果
【案例剖析】
上述代码的含义分析如下。
(1) 第1行:加载tkinter 模块。
(2) 第 2 行:使用tkinter 模块的Tk()方法来创建一个主窗口。参数win 是该窗口的句柄。如果用户调用多次Tk()方法,就可以创建多个主窗口。
(3) 第3行:把用户界面的标题设置为“古诗鉴赏”。
(4) 第4行:使用tkinter 模块的Label()方法,在窗口内创建一个Label 控件。参数win 是该窗口的句柄,参数text 是Label 控件的文字。Label()方法返回此标签控件的句柄。注意tkinter 也支持Unicode 字符串。
(5) 第5行:调用标签控件的pack()方法,来设置窗口的位置、大小等选项。后面章节将会详细讲述pack()的使用方法。
(6) 第6行:开始窗口的事件循环。
如果想要关闭此窗口,只要单击窗口右上方的【关闭】按钮即可。
如果要让GUI 应用程序能够在Windows 下单独执行,必须将程序代码存储成.pyw 文件。这样就可以使用pythonw.exe 来执行GUI 应用程序,而不必打开Python 解释器。如果将程序代码存储成.py 文件,必须使用pythonw.exe 来执行GUI 应用程序,如此会打开一个MS-DOS 窗口。
【案例10-2】 包含关闭按钮的图形界面(代码10.2.pyw)。
from tkinter import * win = Tk()
win.title(string = "古诗鉴赏")
Label(win, text="山气日夕佳,飞鸟相与还。此中有真意,欲辨已忘言。").pack() Button(win, text="关闭", command=win.quit).pack(side="bottom") win.mainloop()
保存10.2.pyw 文件后,直接双击运行该文件,结果如图10-2所示。