师:同学们,今天我们来学习必修一、第三单元第三节数据与系统第一课时。本节课学习目标有三个:一是了解图形用户界面GUI的基本概念,学会设计简单的GUI;二是了解文件的概念;三是了解Python读写文本文件的方法。
首先,我们来了解什么是图形用户界面。图形用户界面是一种人与计算机通信的界面显示格式,允许用户使用鼠标等输入设备操纵屏幕上的图标或菜单选项,以选择命令、调用文件或执行其他日常任务。与通过键盘输入文本或字符命令来完成例行任务的字符界面相比,图形用户界面有诸多优点。它由窗口、下拉菜单、对话框及其相应的控制机构构成,在各种新式应用程序中都是标准化的,即相同的操作总是以同样的方式完成。在图形用户界面中,用户看到和操作的都是图形对象,应用的是计算机图形学技术。GUI的广泛应用是当今计算机发展的重大成就之一,极大地方便了非专业用户使用,人们无需再死记硬背大量命令。
可见,图形用户界面(Graphical User Interface,简称GUI),又称图形用户接口,是指采用图形方式显示的计算机操作用户界面。下面,我们一起来体验图形用户界面。
小明同学经常和亲友们一起旅游,他想开发一个旅行小助手系统来解决旅行中的各种问题。其中旅行线路功能模块用来记录计划出游的旅行线路,他希望在这个系统中能够添加新的线路。我们看看他是怎样设计这个旅行线路的程序界面的。这是小明编写的“旅行线路.py”程序。请暂停视频,下载我们提供的资源包,打开里面的“旅行线路.py”程序并运行,观察运行结果,然后仔细阅读注释信息,对照理解每个语句的作用。请看操作示范:首先把我们提供的资源下载好,并放在桌面上。然后点击开始菜单,在搜索栏输入IDLE,按回车键启动Python shell,通过file菜单的open command打开桌面上的“旅行线路.py”文件。接下来找到run菜单,执行第三个命令“run MODULE”或者按F5键运行该程序。运行后可以看到该程序生成了一个含有“添加线路”按钮的图形用户界面。通过刚才的体验与思考,大家大致理解每个语句的作用了吗?下面我们一起来了解一下。
在Python语言中,Tkinter是实现图形用户界面的模块,可以快速创建GUI应用程序。我们需要先导入模块,用代码“from tkinter import *”导入tkinter模块,然后就可以运用相应代码创建文本标签、文本框、命令按钮等交互对象了。
“root = Tk()”,它的作用是使用Tk方法来创建一个窗口,并把创建的窗口指定给窗口名称变量root,注意这里Tk的t为大写,在Python语言中要注意大小写问题。“root.title()”,它的作用是设置窗口标题;“root.geometry()”,它的作用是设置窗口的大小;“root.resizable(0, 0)”,它的作用是禁止用户调整窗口的大小。
最后一个语句“button = Button(root, text="添加线路").pack()”,是使用Button方法在root窗口上创建一个按钮,括号里的参数“text = "添加线路"”,它的作用是设置按钮上显示的文字为“添加线路”。最后的“pack()”是使用pack方法把按钮布局在窗口的顶部。有兴趣的同学可以结合各参数的英文单词含义,尝试修改源程序的各项参数值并运行验证,这样将会更深入地了解各语句。这是修改了的程序代码,大家可以思考一下该程序运行后会生成什么样的图形用户界面,请看操作视频。
现在我把title的值“旅行线路”改为“旅行小助手”;geometry窗口大小的第一个参数300,改为400;button的参数text值“添加线路”改为“登录”;width值10改为20。然后运行程序并保存修改。请观察图形用户界面的变化。
可见,新的图形用户界面的标题文字更改为“旅行小助手”,窗口的宽度变为400像素,按钮上显示的文字变为“登录”,按钮的宽度变为20字符。好了,到这里相信同学们已经可以读懂这个程序了,现在让我们马上学以致用吧。
小明同学希望在这个系统中除了添加线路外,还可以查询已经输入系统的线路。请你帮小明修改“旅行线路.py”程序,使得程序运行后可以在“添加线路”按钮下方添加“查询线路”按钮。运行效果如图2所示,现在请暂停视频动手实践。显然我们只需要复制“添加线路”按钮的代码,粘贴到下一行即可,但因为两个按钮上显示的文字不一样,还需要注意把text属性值修改为“查询线路”。
活动一环节结束,我们来小结一下在活动一中需要了解的图形用户界面的核心知识:导入Tkinter模块,建立窗口Tk,创建按钮Button。
小明发现了一条新的旅行线路“桂林五日游”,他很感兴趣,希望将它添加到系统中,即添加并保存在已收集的旅行线路文件“旅行线.txt”中。他为此编写了“添加线路.py”程序来实现这个功能。
请对照此程序思考两个问题:一是图形用户界面需要增加什么控件以实现旅行线路的输入呢?二是数据存储需要通过哪些代码来实现呢?请暂停视频,带着这两个问题完成任务二。首先请在我们提供的资源中找到并打开小明同学已收集的旅行线路文件“旅行线.txt”,了解文件内容,然后运行配套资源中的“添加线路.py”程序,并把新的旅行线路情况添加到“旅行线路.txt”文件中。完成后再次打开“旅行线路.txt”查看文件内容,请看操作示范。
首先打开“旅行线路.txt”文件查看源文件的内容,原文件含有“长沙一日游”旅行线路。等我们执行完“桂林五日游”旅行线路的添加后,再次打开此文件查看,对比一下文件内容前后的变化。下面我们来实现旅游线路添加。首先执行file菜单的open命令,打开桌面上的“添加线路.py”程序。然后执行run菜单的run module命令运行该程序,出现图形用户界面,请在文本框内输入“桂林五日游”旅行线路,然后点击“添加线路”按钮,执行添加操作。现在请再次打开“旅行线路.txt”文件,可以看到刚才输入的“桂林五日游”旅行线路已经被添加到文件末尾。
