第11章 图形用户界面
问题导向
·如何将用户与计算机的交互以图形用户界面的形式呈现?
·图形用户界面的各种元素怎么创建?
·多种图形用户界面元素怎么布局?
·界面操作如何与后台数据关联?
重点与难点
·图形用户界面的基本操作。
·tkinter模块中基本组件的使用方法。
·tkinter子模块下的组件使用方法。
·应用图形用户界面进行系统设计。
知识导图
Python之旅——旅行导航
到一个陌生的城市旅行,如何快速地找到去往景点的路径?当然是开启智能时代产品地图导航。在Python中也可以实现这种看得到的功能效果,采用的是图形用户界面的方法,用看得见的图形来引导用户解锁产品。在这一站,我们通过图形用户界面的方法来实现按图导航,体验旅行之乐。
图形用户界面(Graphical User Interface,GUI)又称为图形用户接口,它是一套工具集,可以结合各种计算机语言进行界面开发。
在主流计算机环境中有3种软件操作界面:一是以DOS为代表的二维界面,以命令符方式进行交互;二是以Windows为代表的三维图形化用户界面,以各类窗口与按钮等元素进行交互;三是以网页为代表的Web用户界面。
Python作为一门优秀的语言,自诞生之日起,已经结合了许多优秀的GUI工具集,人们通过它编写了许多的应用程序。Python提供了多种图形开发界面的库,几个常用Python GUI库如下。
·tkinter:tkinter模块(Tk接口)是Python标准Tk GUI工具包的接口,Tk和tkinter可以在大多数UNIX平台下使用,同样可以应用在Windows和macOS系统里。Tk 8.0的后续版本可以实现本地窗口风格,并良好地运行在绝大多数平台中。
·wxPython:wxPython是一款开源软件,是Python语言一套优秀的GUI图形库,可使Python程序员很方便地创建完整的、功能健全的GUI用户界面。
·PyQt:PyQt是Qt公司Qt应用程序框架的一组Python V2和V3的绑定,可以在Qt支持的所有平台上运行,包括Windows、macOS、Linux和Adroid,部分免费。
·Jython:Jython程序可以和Java无缝集成。除了一些标准模块,Jython还使用Java的模块。Jython几乎拥有标准的Python中不依赖C语言的全部模块。比如,Jython的图形用户界面使用Swing、AWT或者SWT。Jython可以被动态或静态地编译成Java字节码。
这一章主要向大家介绍tkinter的使用。需要说明的是,tkinter虽然很好用,但是它提供的功能还是太少了,许多功能需要开发者自己去实现。wxPython、PyQt这些第三方库各有自己的优势,大家可以在实际的GUI编程中,选择适合自己的工具包。