- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
第10章图形用户界面编程;第10章图形用户界面编程;主要内容;10.1tkinter概述;
;图形用户界面(GraphicalUserInterface,简称GUI)
是指采用图形化的方式显示的计算机系统用户界面,能友好地实现用户与程序的交互。
Python实现图形用户界面可以使用标准模块tkinter。
tkinter
tkinter(即tkinterface,简称“Tk”)属于Python自带的标准模块,安装好Python后可以直接使用tkinter模块而无须另行安装。
tkinter提供了一组用于创建和管理GUI应用程序的工具和组件,包括窗口、按钮、文本框、标签、滚动条等,在进行GUI应用开发之前需要先导入tkinter模块。;进行GUI开发之前需先导入tkinter模块。
;搭建图形界面之前,需要先创建一个根窗口(也称为主窗口)。使用tkinter模块中TK类的构造方法可以创建根窗口对象。
;为保证GUI应用程序能能随时接收用户消息,根窗口应进入消息循环,使GUI程序应总是处于运行状态。
;
;tkinterGUI编程的主要步骤
(1)导入tkinter模块。importtkinter或fromtkinterimport*。
(2)创建主窗口对象。如果未创建主窗口对象,tkinter将以默认的顶层窗口作为主容器,该容器是当前组件的容器。
(3)创建标签、按钮、输入文本框等组件对象。
(4)打包组件,将组件显示在其父容器中。
(5)启动监听事件消息的循环,等待响应用户操作。
;;设置根窗口相关属性的常用方法
;变化的Label信息
Label通常用于显示静态文本信息,但应用程序种经常需要显示一些动态说明信息。
;实现显示信息动态变化功能的最简单的方式:
通过Label的config()方法,利用关键字参数直接更新Label的text属性。;为了实现组件内容的自动更新,tkinter定义了一些可变类型,它们与Python不可变类型(字符串、整型、浮点型、布尔类型)的对应关系如下表所示。;tkinter中可变类型数据的值通过set()方法和get()方法来设置和获取。可变类型数据可以就地更新,并在其值发生变化时通知相关组件以实现GUI的同步更新。;可变类型变量实现标签和文本框信息同步。;10.2tkinter组件概述;
;tkinter模块提供了许多组件,其中最核心的16个核心组件及其描述如右表所示。
;;
;组件的大小默认由组件的内容决定,但开发人??可通过组件的width和height属性设置组件的尺寸。;程序中通常使用十六进制数字表示颜色,例如“#FFF”表示白色、“#FF0000”表示红色(red)、“#0000FF”表示蓝色。;组件的字体通过属性font设置,该属性是一个三元组,组内元素依次为表示字体名称的字符串、表示字体大小的数字和表示字体附加信息(如样式)的字符串。;锚点是用来定义组件中文本相对位置的参考点,组件的anchor属性用于设置锚点,即设置组件的停靠位置。;组件的样式指其立体表现形式,通过relief属性设置,该属性的取值为常量,常用取值有FLAT、RAISED、SUNKEN、GROOVE、RIDGE和SOLID。;;10.3常用组件;
;Label组件用于显示信息,它的常用属性及说明如下表所示。
;Button组件可展示文本或图片并与用户交互,使用Button类的构造方法Button()可创建按钮对象,该方法cnf参数的常用属性及其说明如下表所示。
;;Entry用于接收单行文本信息,使用Entry类的构造方法Entry()可创建文本框对象。
Entry组件的部分属性与Label组件的属性相同,如font、foreground、background、borderwidth、width等。
Entry组件常用的属性和方法如下表所示。
;;;Text组件用于显示和处理多行文本,也常被用作简单的文本编辑器和网页浏览器。使用Text类的构造方法Text()可创建多行文本框对象。
;Entry组件的部分属性与Label组件的属性相同,其常用的属性和方法如下表所示。
;;使用构造方法Checkbutton()可以创建复选框组件Checkbutton,复选框组件中包含多个选项,支持多选。
Checkbutton的常用选项如下表所示。
;示例。
;Radiobutton为单选按钮,该组件包含一组选项,仅支持单选。
Radiobutton除常用的共有属性之外,还具有一些其他常用的属性和方法如下表所示。
;示例:
;10.4布局管理;
;pack布局在不使用任何参数的情况下,它会将组件按添加时的先后顺序,自上而下,一行一行的进行排列,并且默认居中显示。
pack()方法可接收参数,以调整组
原创力文档


文档评论(0)