第11章 图形用户界面

第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编程中,选择适合自己的工具包。