Python程序设计教程-11-tkinter-GUI编程.pptx

上传人(卖家):三亚风情 文档编号:3371862 上传时间:2022-08-24 格式:PPTX 页数:25 大小:1.13MB
下载 相关 举报
Python程序设计教程-11-tkinter-GUI编程.pptx_第1页
第1页 / 共25页
Python程序设计教程-11-tkinter-GUI编程.pptx_第2页
第2页 / 共25页
Python程序设计教程-11-tkinter-GUI编程.pptx_第3页
第3页 / 共25页
Python程序设计教程-11-tkinter-GUI编程.pptx_第4页
第4页 / 共25页
Python程序设计教程-11-tkinter-GUI编程.pptx_第5页
第5页 / 共25页
点击查看更多>>
资源描述

1、Python3 程序设计 主讲教师:11 tkinter GUI编程软件工程师系列Python3 程序设计程序设计第11章 tkinter GUI编程 本章内容本章内容 tkinter编程概述 tkinter GUI的布局管理 tkinter的常用组件 tkinter的事件处理 tkinter GUI的应用开发图形用户界面(GUI)应用程序是Python的重要应用之一,标准库tkinter用来实现图形用户界面。软件工程师系列Python3 程序设计程序设计11.1 tkinter编程概述编程概述tkinter模块是Python事实上的GUI库,包含在Python的基本安装包中。使用tkinte

2、r模块编写的GUI程序是跨平台的,可在多种操作系统中运行。第一个第一个tkinter GUI程序程序 组件和容器是GUI编程的两个基本概念。组件是指标签、按钮、列表框等对象,需将其放在容器中显示。容器是指可放置其他组件或容器的对象。软件工程师系列Python3 程序设计程序设计11.1 tkinter编程概述编程概述 第一第一个个tkinter GUI程序程序 tkinter GUI编程步骤(1)导入tkinter模块。import tkinter 或 from tkinter import*(2)创建主窗口对象,如果未创建主窗口对象,tkinter将以默认的顶层窗口作为主窗口。(3)创建标签

3、、按钮、输入文本框等组件对象。(4)打包组件,将组件显示在其父容器中。(5)启动事件循环,GUI窗口启动,等待响应用户操作。例11-1 带有标签和按钮的tkinter GUI程序。软件工程师系列Python3 程序设计程序设计11.1 tkinter编程概述编程概述 设置窗口和组件的属性设置窗口和组件的属性 设置窗口属性常用的方法有title()、geometry()和config()方法。1.title()方法和geometry()方法title()方法用于设置窗口的标题,geometry()用于方法设置窗口的大小。geometry()方法中的参数格式为“宽度x高度”。例11-2 设置了标题

4、和大小的窗口。2.config()方法config()方法用于设置组件文本、对齐方式、前景色、背景色、字体等属性。例11-3 使用config()方法配置组件属性。软件工程师系列Python3 程序设计程序设计11.2 tkinter GUI的布局管理的布局管理 容器中组件的布局是很繁琐的,需要调整组件自身的大小,还要设计和其他组件的相对位置。实现组件布局的方法被称为布局管理器或几何管理器。tkinter使用三种方法来实现布局:pack()、grid()、place(),。Frame作为中间层的容器组件,可以分组管理组件,实现复杂的布局。软件工程师系列Python3 程序设计程序设计11.2

5、tkinter GUI的布局管理的布局管理 使用使用pack()方法的方法的布局布局 pack()方法以块的方式布局组件。pack()方法将组件显示在默认位置,是最简单、直接的用法。pack()方法的参数:side表示组件在容器中的位置;expand表示组件可拉伸;fill取值为X、Y或BOTH,填充X或Y方向上的空间;anchor表示组件在窗口中位置。软件工程师系列Python3 程序设计程序设计11.2 tkinter GUI的布局管理的布局管理 使用使用grid()方法的布局方法的布局 使用grid()方法的布局被称为网格布局,它按照二维表格的形式,将容器划分为若干行和列,组件的位置由行

6、列所在位置确定。在同一容器中,只能使用pack()方法或grid()方法中的一种布局方式。grid()方法的参数:row和column,组件所在的行和列的位置 rowspan和columnspan,组件从所在位置起跨的行数和跨的列数 sticky,组件所在位置的对齐方式 例11-6 使用grid()方法设置组件布局。软件工程师系列Python3 程序设计程序设计11.2 tkinter GUI的布局管理的布局管理 使用使用place()方法的布局方法的布局 比grid()和pack()布局更精确地控制组件在容器中的位置。如果容器大小调整,可能会出现布局不适应的情况。place()方法的参数 x

7、和y,用绝对坐标指定组件的位置 height和width,指定组件的高度和宽度 relx和rely,按容器高度和宽度的比例来指定组件的位置 relheight和relwidth,按容器高度和宽度的比例来指定组件的高度和宽度 例11-7 使用place()方法的布局。软件工程师系列Python3 程序设计程序设计11.2 tkinter GUI的布局管理的布局管理 使用框架的复杂布局使用框架的复杂布局 框架(Frame)是一个容器组件,通常用于对组件进行分组 可以从而实现复杂的布局。例11-8 用Frame实现的复杂布局。属性属性说明说明bd指定边框宽度relief指定边框样式,取值为FLAT(

8、扁平,默 认 值)、R A I S E D(凸 起)、SUNKEN(凹陷)、RIDGE(脊状)、GROOVE(凹槽)和 SOLID(实线)width和和height设置宽度或高度,如果忽略,容器通 常 根 据 内 容 组 件 的 大 小 自 整Frame大小软件工程师系列Python3 程序设计程序设计 11.3 tkinter的常用组件 Label组件组件 用于创建标签的组件,主要用于显示不可修改的文本、图片或者图文混排内容。属性属性说明说明text设置标签显示的文本bg和和fg指定组件的背景色和前景色width和和height指定组件的宽度和高度padx和和pady组件内文本 左右和上下

9、的预留空白宽度)anchor设置文本在组件内部的位置justify设置文本对齐方式font设置字体例例11-9 测试标签的属性测试标签的属性。软件工程师系列Python3 程序设计程序设计 11.3 tkinter的常用组件 Button组件组件 用于创建按钮,通常用于响应用户的单击操作,即单击按钮时将执行指定的函数。Button组件的command属性用于指定响应函数。例11-10 单击Button按钮计算1100的累加值软件工程师系列Python3 程序设计程序设计 11.3 tkinter的常用组件 Entry组件组件 输入组件,用于显示和输入简单的单行文本。部分属性与Label组件相同

10、。属性属性/方法方法说明说明state设置组件状态。validate设置执行validatecommand校验函数的时间validatecommand设置校验函数textvariable获取组件内容的变量get()返回组件中的全部字符delete(first,last=None)删除从 first开始到last之前的字符 Entry组件的常用属性和方法软件工程师系列Python3 程序设计程序设计11tkinter的常用组件 Entry组件组件 控制变量控制变量。控制变量是和组件相关联的一种对象。例如,控制变量与Entry组件关联时,控制变量的值和Entry组件中的文本会关联变化;将控制变量与

11、Radiobutton组件(单选按钮组)关联时,改变单选按钮选择时,控制变量的值随之改变;反之,改变控制变量的值,对应值的单选按钮被选中。例11-11 输入数据并计算累加和。着重体会控制变量的概念。软件工程师系列Python3 程序设计程序设计 11.3 tkinter的常用组件 Listbox组件组件 用于创建列表框,列表框允许用户一次选择一个或多个列表项。Listbox组件的部分属性组件的部分属性和方法和方法 Listvariable属性关联属性关联一个一个StringVar类型的控制变量,该变类型的控制变量,该变量关联列表框全部量关联列表框全部选项,选项,Selectmode用于设置用于

12、设置列表项选择模式列表项选择模式,activate(index)方法用于选中方法用于选中index对应的列表对应的列表项。项。cursection()方法返回方法返回包含选中项包含选中项index的元组,无选中时返回的元组,无选中时返回空空元组。元组。insert(index,relements)方法在方法在index位置插入一个或多个列表位置插入一个或多个列表项。项。软件工程师系列Python3 程序设计程序设计 11.3 tkinter的常用组件 Listbox组件组件 get(first,last=None)方法返回方法返回包含包含first,last范围内的列表项的范围内的列表项的文本

13、文本元组。元组。Listbox组件的部分方法将列表项位置组件的部分方法将列表项位置(index)作为参数。作为参数。Listbox组件中第一个列表项的组件中第一个列表项的index值为值为0,最后一个列表项,最后一个列表项index可以使用常量可以使用常量tkinter.END表示。当前选中列表项的表示。当前选中列表项的index值用常量值用常量tkinter.ACTIVE表示。表示。例例11-12 列表框操作示例。列表框操作示例。软件工程师系列Python3 程序设计程序设计 11.3 tkinter的常用组件 其他组件其他组件 Radiobutton组件,用于创建单选按钮组。Checkbu

14、tton组件,用于创建复选框,用来标识是否选定某个选项。Text组件,用来显示和编辑多行文本。Spinbox输入组件,用于创建在一组选项或一定范围的数字内滚动选择的组件。软件工程师系列Python3 程序设计程序设计11.4 tkinter的事件处理的事件处理 图形用户界面经常需要用户对鼠标、键盘等操作做出反应,这图形用户界面经常需要用户对鼠标、键盘等操作做出反应,这就是事件处理就是事件处理。产生产生事件的鼠标、键盘等称作事件源,其操作称为事件事件的鼠标、键盘等称作事件源,其操作称为事件。对对这些事件作出响应的函数,称为事件处理程序这些事件作出响应的函数,称为事件处理程序。事件事件处理通常使用

15、组件的处理通常使用组件的command参数或组件的参数或组件的bind()方法来方法来实现。实现。软件工程师系列Python3 程序设计程序设计11.4 tkinter的事件处理的事件处理 使用使用command参数实现事件处理参数实现事件处理 单击按钮时,将会触发Button组件的command参数指定的函数。实际上是主窗口负责监听发生的事件,单击按钮时将触发事件,然后调用指定的函数。由command参数指定的函数也叫回调函数。Radiobutton、Checkbutton、Spinbox等组件,都支持使用command参数进行事件处理。例11-17是一个窗体验证的示例,单击按钮对提交的数据

16、进行验证,为了简化程序,用户名和密码保存在一个字典中。软件工程师系列Python3 程序设计程序设计11.4 tkinter的事件处理的事件处理 使用组件的使用组件的bind()方法实现事件处理方法实现事件处理 使用bind()方法来为组件事件绑定处理函数可以实现事件处理。widget.bind(event,handler)widget是事件源,即产生事件的组件;event是事件或事件名称;hander是事件处理程序。常见事件名称如下。单击鼠标左键单击鼠标左键1/Button-1/ButtonPress-1松开鼠标左键松开鼠标左键ButtonRelease-1单击鼠标右键单击鼠标右键3/But

17、ton-3双击鼠标左键双击鼠标左键Double-1/Double-Button-1双击鼠标右键双击鼠标右键Double-3拖动鼠标移动拖动鼠标移动B1-Motion鼠标移动到区域鼠标移动到区域Enter例11-18 bind()方法实现 的事件处理软件工程师系列Python3 程序设计程序设计11.5 tkinger GUI的应用的应用设计了一个包含Label组件、Entry组件、Combobox组件、Radiobutton组件、Checkbutton组件的GUI界面。Combobox组件来自于tkinter.ttk模块。程序运行后,输入考生姓名,选择考生省份、地区,并选择考生类别和专业等信息

18、后,单击“增加”按钮,将学生信息添加到列表框中;选中列表框中的信息后,单击“删除”按钮,将删除列表框中的信息。软件工程师系列Python3 程序设计程序设计软件工程师系列Python3 程序设计程序设计小结 组件组件和容器的概念,设置窗口和组件的属性的和容器的概念,设置窗口和组件的属性的title()方法、方法、geometry()方法和方法和config()方法。方法。tkinter GUI程序的基本结构。程序的基本结构。实现组件布局的方法被称为布局管理器或几何管理器,实现组件布局的方法被称为布局管理器或几何管理器,tkinter使用三使用三种方法来实现布局功能:种方法来实现布局功能:pac

19、k()、grid()、place()。由由tkinter的各种组件构造了窗口中的对象,常用的组件包括的各种组件构造了窗口中的对象,常用的组件包括Label组组件、件、Button组件、组件、Entry组件、组件、Listbox组件、组件、Radiobutton组件、组件、Checkbutton组件等。组件等。图形用户界面经常需要用户对鼠标、键盘等操作做出事件处理。图形用户界面经常需要用户对鼠标、键盘等操作做出事件处理。软件工程师系列Python3 程序设计程序设计作业(1)编制求两个正整形数最小公倍数程序。要求:两个输入框txt、txt2,用来输入整形数据;一个按钮;一个不可编辑的输入组件txt3。当单击按钮时,在txt3中显示两个整形数的最小公倍数的值。(2)设计GUI界面,模拟QQ登录界面,用户输入用户名和密码,如果正确提示登录成功;否则提示登录失败。(3)例9-17使用Button组件的command参数实现事件处理,将事件处理的方法使用bind()方法实现。软件工程师系列Python3 程序设计程序设计

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 办公、行业 > 各类PPT课件(模板)
版权提示 | 免责声明

1,本文(Python程序设计教程-11-tkinter-GUI编程.pptx)为本站会员(三亚风情)主动上传,163文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。
2,用户下载本文档,所消耗的文币(积分)将全额增加到上传者的账号。
3, 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(发送邮件至3464097650@qq.com或直接QQ联系客服),我们立即给予删除!


侵权处理QQ:3464097650--上传资料QQ:3464097650

【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。


163文库-Www.163Wenku.Com |网站地图|