第十章Python的GUI编程课件.ppt

上传人(卖家):晟晟文业 文档编号:4374649 上传时间:2022-12-03 格式:PPT 页数:107 大小:2.11MB
下载 相关 举报
第十章Python的GUI编程课件.ppt_第1页
第1页 / 共107页
第十章Python的GUI编程课件.ppt_第2页
第2页 / 共107页
第十章Python的GUI编程课件.ppt_第3页
第3页 / 共107页
第十章Python的GUI编程课件.ppt_第4页
第4页 / 共107页
第十章Python的GUI编程课件.ppt_第5页
第5页 / 共107页
点击查看更多>>
资源描述

1、2022-12-31 概述概述 GUI程序开发简介程序开发简介 Tkinter与主要组件与主要组件 Turtle库简介库简介2022-12-32 使用图形用户界面(使用图形用户界面(GUI),可以使程序更友好。),可以使程序更友好。Python作为一种作为一种“胶水性胶水性”语言,提供了众多语言,提供了众多GUI开发库的绑定,适合快速开发开发库的绑定,适合快速开发GUI。目前大部分开发库还不支持目前大部分开发库还不支持Python 3,且库的更,且库的更新速度不是很快。如果使用的是新速度不是很快。如果使用的是Python 3,可选,可选择的开发库就不是很多了。择的开发库就不是很多了。目前常用的

2、开发库有:目前常用的开发库有:Python内置的内置的Tkinter、Graphics、Turtle等,以及非常强大的等,以及非常强大的PyQT等等。如果使用的是。如果使用的是Python 2,还有如,还有如wxPython、PyGTK、PMW等开发库可以选择。等开发库可以选择。2022-12-33 TkinterPython 标准标准GUI Turtlepython内置的图形库。内置的图形库。2022-12-34 日常使用的大量客户端程序都属于日常使用的大量客户端程序都属于GUI程程序,即在一个界面上有很多功能块,包括序,即在一个界面上有很多功能块,包括:标签、按钮、输入框、菜单等。:标签、

3、按钮、输入框、菜单等。开发开发GUI程序,首先需要有一块空白画面程序,首先需要有一块空白画面,然后在其上划分出不同的区域,放上不,然后在其上划分出不同的区域,放上不同的模块,最后完成每一个模块的功能。同的模块,最后完成每一个模块的功能。2022-12-35 首先要有底层的根窗口对象,在其基础上创建一个首先要有底层的根窗口对象,在其基础上创建一个个小窗口对象。每一个窗口都是一个容器,可将所个小窗口对象。每一个窗口都是一个容器,可将所需的组件置于其中。每种需的组件置于其中。每种GUI开发库都拥有大量的开发库都拥有大量的组件,一个组件,一个GUI程序就是由各种不同功能的组件组程序就是由各种不同功能的

4、组件组成的,而根窗口对象则包含了所有组件。成的,而根窗口对象则包含了所有组件。组件本身也可以作为一个容器,它可以包含其他组组件本身也可以作为一个容器,它可以包含其他组件,如下拉框。这种包含其他组件的称为父组件,件,如下拉框。这种包含其他组件的称为父组件,反之,包含在其他组件中的组件称为子组件。这是反之,包含在其他组件中的组件称为子组件。这是一种相对的概念,对于有着多层包含的情况,某组一种相对的概念,对于有着多层包含的情况,某组件的父组件一般指的是直接包含它的组件。件的父组件一般指的是直接包含它的组件。2022-12-362022-12-37 构建出了构建出了GUI程序的每一个组件,只完成了程序

5、程序的每一个组件,只完成了程序的界面,但此时只能看不能用,需要给每一个组的界面,但此时只能看不能用,需要给每一个组件添加对应的功能。件添加对应的功能。使用使用GUI程序时,会进行各种操作,如鼠标移动程序时,会进行各种操作,如鼠标移动,按下或松开鼠标键,按下键盘按键等,这些操,按下或松开鼠标键,按下键盘按键等,这些操作称为事件。每个组件对应着一些行为,如在文作称为事件。每个组件对应着一些行为,如在文本框中输入文本,单击按钮等,这些也称为事件本框中输入文本,单击按钮等,这些也称为事件。GUI程序启动的时候就一直监控这些事件,当程序启动的时候就一直监控这些事件,当某个事件发生的时候,就进行对应的处理

6、并返回某个事件发生的时候,就进行对应的处理并返回相应的结果。因此,相应的结果。因此,GUI程序是由这一整套事件程序是由这一整套事件驱动的,这个过程称为事件驱动处理。驱动的,这个过程称为事件驱动处理。2022-12-38 一个事件发生后,一个事件发生后,GUI程序捕获该事件、作出对程序捕获该事件、作出对应的处理并返回结果的过程称为回调。如计算器应的处理并返回结果的过程称为回调。如计算器程序,单击了程序,单击了“=”按钮之后,便产生了一个事按钮之后,便产生了一个事件,需要计算最终的结果,程序便开始对算式进件,需要计算最终的结果,程序便开始对算式进行计算,返回最终结果并显示出来。这个计算并行计算,返

7、回最终结果并显示出来。这个计算并显示结果的过程即为回调。显示结果的过程即为回调。当为程序需要的每一个事件都添加完相应的回调当为程序需要的每一个事件都添加完相应的回调处理之后,整个处理之后,整个GUI就完成了。就完成了。Tk是是Python默认的工具集(即图形库),默认的工具集(即图形库),Tkinter是是Tk的的Python接口,通过接口,通过Tkinter可可以方便地调用以方便地调用Tk进行图形界面开发。进行图形界面开发。Tk与其他开发库相比,不是最强大的,模块工具与其他开发库相比,不是最强大的,模块工具也不是非常的丰富。但它非常简单,所提供的功也不是非常的丰富。但它非常简单,所提供的功能

8、开发一般的应用也完全够用了,且能在大部分能开发一般的应用也完全够用了,且能在大部分平台上运行。平台上运行。Python自带的自带的IDEL也是用也是用Tkinter开发的。开发的。Tkinter的的不足之处不足之处是是缺少合适的可视化界面设缺少合适的可视化界面设计工具,需要通过代码来完成窗口设计和元素布计工具,需要通过代码来完成窗口设计和元素布局局。2022-12-392022-12-310 Tkinter中提供了较为丰富的控件,完全能满足中提供了较为丰富的控件,完全能满足基本的基本的GUI程序的需求。程序的需求。由于由于Tkinter模块已经在模块已经在Python中内置,所以中内置,所以在

9、使用之前,只需将其导入即可。在使用之前,只需将其导入即可。两种导入方式为:两种导入方式为:import tkinter as tk导入导入tkinter,但没,但没引入任何组件,在使用时需要使用引入任何组件,在使用时需要使用tk前缀,如需要前缀,如需要引入按钮,则表示为:引入按钮,则表示为:tk.Button。from tkinter import*将将tkinter中的所中的所有组件一次性引入。有组件一次性引入。利用利用Tkinter模块来引用模块来引用Tk构建和运行构建和运行GUI程序,通常需要程序,通常需要5步:步:导入导入Tkinter模块;模块;创建一个顶层窗口;创建一个顶层窗口;在

10、顶层窗口的基础上构建所需要的在顶层窗口的基础上构建所需要的GUI模块和模块和功能;功能;将每一个模块与底层程序代码关联起来;将每一个模块与底层程序代码关联起来;执行主循环。执行主循环。2022-12-311组件组件功能功能Button按钮。类似标签,但提供额外功能,如鼠标按下、释放及键盘操作事件按钮。类似标签,但提供额外功能,如鼠标按下、释放及键盘操作事件Canvas画布。提供绘图功能(直线、椭圆、多边形、矩形),可以包含图形或位图画布。提供绘图功能(直线、椭圆、多边形、矩形),可以包含图形或位图Checkbutton选择按钮。一组方框,可以选择其中的任意个选择按钮。一组方框,可以选择其中的任

11、意个Radiobutton单选按钮。一组方框,其中只有一个可被选择单选按钮。一组方框,其中只有一个可被选择Entry文本框。单行文字域,用来收集键盘输入文本框。单行文字域,用来收集键盘输入Frame框架。包含其他组件的纯容器框架。包含其他组件的纯容器Label标签。用来显示文字或图片标签。用来显示文字或图片Listbox列表框。一个选项列表,用户可以从中选择列表框。一个选项列表,用户可以从中选择Menu菜单。单击后弹出一个选项列表,用户可以从中选择菜单。单击后弹出一个选项列表,用户可以从中选择Menubutton菜单按钮。用来包含菜单的组件(有下拉式、层叠式)菜单按钮。用来包含菜单的组件(有下

12、拉式、层叠式)Message消息框。类似于标签,但可以显示多行文本消息框。类似于标签,但可以显示多行文本Scale进度条。线性进度条。线性“滑块滑块”组件,可设定起始值和结束值,显示当前位置的精确值组件,可设定起始值和结束值,显示当前位置的精确值Scrollbar滚动条。对其支持的组件(文本域、画布、列表框、文本框)提供滚动功能滚动条。对其支持的组件(文本域、画布、列表框、文本框)提供滚动功能Text文本域。多行文字区域,可用来收集(或显示)用户输入的文字文本域。多行文字区域,可用来收集(或显示)用户输入的文字Toplevel顶级。类似框架,但提供一个独立的窗口容器。顶级。类似框架,但提供一个

13、独立的窗口容器。12 dimensions:尺寸:尺寸 colors:颜色:颜色 fonts:字体:字体 anchors:锚:锚 relief styles:浮雕式:浮雕式 bitmaps:显示位图:显示位图 cursors:光标的外形:光标的外形 说明:每种组件还有其各自特有的属性说明:每种组件还有其各自特有的属性2022-12-313 Tk使用了一种包管理器来管理所有的组件,当定使用了一种包管理器来管理所有的组件,当定义完组件之后,需要调用义完组件之后,需要调用pack()方法来控制组方法来控制组件的显示方式,若不调用件的显示方式,若不调用pack()方法,组件将方法,组件将不会显示。不会

14、显示。在交互环境下,编写在交互环境下,编写Tkinter测试代码时,运行测试代码时,运行过过Tk()(创建顶层窗口的函数)之后即进入主循(创建顶层窗口的函数)之后即进入主循环,可以看到顶层窗口。而若是运行环,可以看到顶层窗口。而若是运行py文件,一文件,一定要调用定要调用mainloop()方法进入主循环,方可看方法进入主循环,方可看到顶层窗口。到顶层窗口。2022-12-3142022-12-315 顶层窗口也称为根窗口。顶层窗口也称为根窗口。顶层窗口实际上是一个普通窗口,包括一顶层窗口实际上是一个普通窗口,包括一个标题栏和窗口管理器所提供的窗口装饰个标题栏和窗口管理器所提供的窗口装饰部分,

15、如最大化按钮等。部分,如最大化按钮等。在一个在一个Tkinter开发的应用程序中,只需开发的应用程序中,只需要创建一个顶层窗口即可,且此窗口的创要创建一个顶层窗口即可,且此窗口的创建必须是在其他窗口创建之前。建必须是在其他窗口创建之前。2022-12-3162022-12-317执行结果:执行结果:标签组件可以用来显示图片和文本,通过标签组件可以用来显示图片和文本,通过在文本中添加换行符来控制换行,也可以在文本中添加换行符来控制换行,也可以通过控制组件的大小实现自动换行。通过控制组件的大小实现自动换行。例例10-2:使用标签(:使用标签(Label)编写一个程)编写一个程序,在程序主体中显示序

16、,在程序主体中显示“Hello World!”。2022-12-3182022-12-319参数参数描述描述height组件的高度(所占行数)组件的高度(所占行数)width组件的宽度(所占字符个数)组件的宽度(所占字符个数)fg前景字体颜色前景字体颜色bg背景颜色背景颜色justify多行文本的对齐方式,可选参数为:多行文本的对齐方式,可选参数为:LEFT、CENTER、RIGHTpadx文本左右两侧的空格数(默认为文本左右两侧的空格数(默认为1)pady文本上下两侧的空格数(默认为文本上下两侧的空格数(默认为1)2022-12-3202022-12-321 框架(框架(Frame)相对于其

17、他组件而言,它)相对于其他组件而言,它只是个容器,因为它没有方法,但它可以只是个容器,因为它没有方法,但它可以捕获键盘和鼠标的事件来进行回调。捕获键盘和鼠标的事件来进行回调。框架一般用作包含一组控件的主体,且可框架一般用作包含一组控件的主体,且可以定制外观。以定制外观。2022-12-3222022-12-323 按钮组件(按钮组件(Button)是)是tkinter最常用的图形组最常用的图形组件之一,通过件之一,通过Button可以方便地与用户进行交可以方便地与用户进行交互。互。严格地说,按钮(严格地说,按钮(Button)也可被看作标签,)也可被看作标签,只是它可以捕获键盘和鼠标事件。只是

18、它可以捕获键盘和鼠标事件。按钮可以禁用,禁用之后的按钮不能进行单击等按钮可以禁用,禁用之后的按钮不能进行单击等任何操作。任何操作。如果将按钮放进如果将按钮放进TAB群中,就可以使用群中,就可以使用TAB键来键来进行跳转和定位。进行跳转和定位。2022-12-3242022-12-325参数参数描述描述height组件的高度(所占行数)组件的高度(所占行数)width组件的宽度(所占字符个数)组件的宽度(所占字符个数)fg前景字体颜色前景字体颜色bg背景颜色背景颜色activebackground按钮按下时的背景颜色按钮按下时的背景颜色activeforeground按钮按下时的前景颜色按钮按下

19、时的前景颜色justify多行文本的对齐方式,可选参数为:多行文本的对齐方式,可选参数为:LEFT、CENTER、RIGHTpadx文本左右两侧的空格数(默认为文本左右两侧的空格数(默认为1)pady文本上下两侧的空格数(默认为文本上下两侧的空格数(默认为1)state设置组件状态,默认为设置组件状态,默认为NORMAL,可设置为:,可设置为:DISABLED禁用组件禁用组件(必须大写)(必须大写)2022-12-3262022-12-327按下按下“退出退出”按钮:按钮:一个一个GUI程序,接收用户的输入几乎是必不可少程序,接收用户的输入几乎是必不可少的。输入框(的。输入框(Entry)组件

20、就是用来接收用户输)组件就是用来接收用户输入的最基本的组件。入的最基本的组件。可以为输入框设置默认值,也可以禁止用户输入可以为输入框设置默认值,也可以禁止用户输入。如果禁止输入,用户就不能改变输入框中的值。如果禁止输入,用户就不能改变输入框中的值了。了。当用户输入的内容一行显示不下的时候,输入框当用户输入的内容一行显示不下的时候,输入框会自动生成滚动条。会自动生成滚动条。2022-12-3282022-12-329参数参数描述描述height组件的高度(所占行数)组件的高度(所占行数)width组件的宽度(所占字符个数)组件的宽度(所占字符个数)fg前景字体颜色前景字体颜色bg背景颜色背景颜色

21、show将将Entry框中的文本替换为指定字符,用于输入框中的文本替换为指定字符,用于输入密码等,如设置密码等,如设置 show=*state设置组件状态,默认为设置组件状态,默认为NORMAL,可设置为:,可设置为:DISABLED禁用组件,禁用组件,READONLY只读只读2022-12-3302022-12-3312022-12-332 单选按钮(单选按钮(Radiobutton)是一组排他)是一组排他性的选择框,只能从该组中选择一个选项性的选择框,只能从该组中选择一个选项,当选择了其中一项之后便会取消其他选,当选择了其中一项之后便会取消其他选项的选择。项的选择。要想使用单选按钮,必须将

22、这一组单选按要想使用单选按钮,必须将这一组单选按钮与一个相同的变量关联起来,由用户为钮与一个相同的变量关联起来,由用户为这个变量选择不同的值。这个变量选择不同的值。2022-12-3332022-12-334Radiobutton组件常用参数组件常用参数参数参数描述描述variable单选单选按钮按钮索引变量,通过变量的值确定哪个单索引变量,通过变量的值确定哪个单选选按钮按钮被选中。一组单选被选中。一组单选按钮按钮使用同一个索引使用同一个索引变量变量value单选单选按钮按钮选中时变量的值选中时变量的值command 单选单选按钮按钮选中时执行的命令(函数)选中时执行的命令(函数)2022-1

23、2-335 与单选按钮相对的是复选按钮(与单选按钮相对的是复选按钮(Checkbutton)。复选按钮之间没有互斥作用,可以一次选择)。复选按钮之间没有互斥作用,可以一次选择多个。多个。同样地,每一个按钮都需要与一个变量相关联,同样地,每一个按钮都需要与一个变量相关联,且每一个复选按钮关联的变量都是不同的。若像且每一个复选按钮关联的变量都是不同的。若像单选按钮一样,关联的是同一个按钮,则当选中单选按钮一样,关联的是同一个按钮,则当选中其中一个的时候,会将所有按钮都选上。其中一个的时候,会将所有按钮都选上。可以给每一个复选按钮绑定一个回调,当该选项可以给每一个复选按钮绑定一个回调,当该选项被选中

24、时,执行该回调。被选中时,执行该回调。2022-12-3362022-12-3372022-12-338Checkbutton组件常用参数组件常用参数参数参数描述描述variable复选复选按钮按钮索引变量,通过变量的值确定哪些复索引变量,通过变量的值确定哪些复选选按钮按钮被选中。每个复选被选中。每个复选按钮按钮使用不同的变量,使用不同的变量,使复选使复选按钮按钮之间相互独立之间相互独立onvalue复选复选按钮按钮选中(有效)时变量的值选中(有效)时变量的值offvalue复选复选按钮按钮未选中(无效)时变量的值未选中(无效)时变量的值command 复选复选按钮按钮选中时执行的命令(函数)

25、选中时执行的命令(函数)2022-12-3392022-12-3402022-12-3412022-12-342 程序中,程序中,文字的颜色通过文字的颜色通过Radiobutton来选择,同一时间只能选择一个颜色。在来选择,同一时间只能选择一个颜色。在三个三个Red、Blue和和Green三个单选框中三个单选框中,定义了同样的变量参数,定义了同样的变量参数color,选择不同,选择不同的单选的单选按钮按钮会为该变量赋予不同的字符串会为该变量赋予不同的字符串值,内容即为对应的颜色。值,内容即为对应的颜色。任何单选任何单选按钮按钮被选中都会触发被选中都会触发colorChecked()函数,将标签

26、修改为对函数,将标签修改为对应单选框表示的颜色。应单选框表示的颜色。2022-12-343 很多时候需要给用户发送消息,一般内容很多时候需要给用户发送消息,一般内容较多,如帮助信息等。较多,如帮助信息等。消息(消息(Message)控件提供了显示多行文)控件提供了显示多行文本的方法,且可以设置字体和背景色。本的方法,且可以设置字体和背景色。Message组件提供了一个标准的方法,可组件提供了一个标准的方法,可以非常方便地实现这项功能。以非常方便地实现这项功能。2022-12-3442022-12-345 滚动条(滚动条(Scrollbar)组件可以添加至任)组件可以添加至任何一个组件,一些组件

27、在界面显示不下时何一个组件,一些组件在界面显示不下时会自动添加滚动条,但可以使用滚动条组会自动添加滚动条,但可以使用滚动条组件来对其进行控制。件来对其进行控制。2022-12-3462022-12-347 列表框(列表框(ListBox)组件是一个选项列表)组件是一个选项列表,用户可以从中选择某一个选项。,用户可以从中选择某一个选项。例例10-12中滚动条组件中使用了列表框。中滚动条组件中使用了列表框。2022-12-3482022-12-349 消息窗口(消息窗口(messagebox)用于弹出提)用于弹出提示框向用户进行告警,或让用户选择下一示框向用户进行告警,或让用户选择下一步如何操作。

28、消息框包括很多类型,常用步如何操作。消息框包括很多类型,常用的有的有info、warning、error、yesno、okcancel等,包含不同的图标、按钮以等,包含不同的图标、按钮以及弹出提示音。及弹出提示音。2022-12-3502022-12-3512022-12-3522022-12-353 绘图组件(绘图组件(Canvas画布画布)可以在)可以在GUI中实现中实现2D图形的绘制,相当于画图板。组图形的绘制,相当于画图板。组件内置了多种绘图函数,可以通过简单的件内置了多种绘图函数,可以通过简单的2D坐标绘制直线、矩形、圆形、多边形等坐标绘制直线、矩形、圆形、多边形等。2022-12-

29、3542022-12-3552022-12-356 直线(直线(line),即线段,通过两个端点定),即线段,通过两个端点定义。坐标顺序为义。坐标顺序为x1、y1、x2、y2。矩形(矩形(rectangle)通过对角线上的两个)通过对角线上的两个点来定义。点来定义。需要注意的是需要注意的是Canvas中没有画圆函数,中没有画圆函数,这里通过绘制椭圆间接实现了绘制圆形的这里通过绘制椭圆间接实现了绘制圆形的函数函数drawCircle()。椭圆(。椭圆(oval)是通)是通过外切矩形的对角线两点来定义的过外切矩形的对角线两点来定义的。2022-12-3572022-12-3582022-12-35

30、92022-12-360聊天聊天窗口窗口布局:布局:左上:聊天历史信左上:聊天历史信息显示息显示 左左中:当前信息编中:当前信息编辑区域辑区域 左下左下:按钮区域:按钮区域 右侧:信息显示区右侧:信息显示区域域 2022-12-361 容器区域布局:容器区域布局:frmLT、frmLC、frmLB、frmRT 2022-12-362“控件类型控件类型”+“功能功能”frmLT,frame+LeftTop txtMsg,text控件控件+消息消息 btnSend,button控件控件+发送发送 2022-12-3632022-12-364txtMsgLIst txtMsg lblImage bt

31、nSend btnCancel 2022-12-365 回调函数回调函数 功能:在消息框列表输出历史消息,同时功能:在消息框列表输出历史消息,同时将当前时间、当前信息作为最后一条历史将当前时间、当前信息作为最后一条历史消息。然后删除消息发送框的内容。消息。然后删除消息发送框的内容。2022-12-3662022-12-367 sendMsgEvent():cancelMsg():2022-12-3682022-12-3692022-12-3702022-12-371 课堂练习一课堂练习一2022-12-372 Turtle库是库是Python语言中一个很流行的绘制图语言中一个很流行的绘制图像的

32、函数库。像的函数库。使用使用turtle库,可想象为一个小乌龟,在一个横库,可想象为一个小乌龟,在一个横轴为轴为x、纵轴为、纵轴为y的坐标系原点,的坐标系原点,(0,0中心中心)位位置开始,方向向右。置开始,方向向右。它根据一组函数指令的控制,在这个平面坐标系它根据一组函数指令的控制,在这个平面坐标系中移动,从而在它爬行的路径上绘制了图形。中移动,从而在它爬行的路径上绘制了图形。详细信息见:详细信息见:https:/docs.python.org/3/library/turtle.html2022-12-373方法名称方法名称方法含义方法含义pendown()放下画笔,移到指定点后继续绘制放下

33、画笔,移到指定点后继续绘制penup()提起画笔,用于另起一个地方绘制时提起画笔,用于另起一个地方绘制时用,与用,与pendown()配对使用配对使用 pensize(width)设置画笔线条的粗细为指定大小设置画笔线条的粗细为指定大小 2022-12-374方法名称方法名称方法含义方法含义forward()沿着当前方向前进指定距离沿着当前方向前进指定距离 backward()沿着当前相反方向后退指定距离沿着当前相反方向后退指定距离 right(angle)向右旋转向右旋转angle角度角度 left(angle)向左旋转向左旋转angle角度角度 goto(x,y)移动到绝对坐标(移动到绝对

34、坐标(x,y)处)处 setx()将当前将当前x轴移动到指定位置轴移动到指定位置 sety()将当前将当前y轴移动到指定位置轴移动到指定位置 setheading(angle)设置当前朝向为设置当前朝向为angle角度(角度(0表示向东,表示向东,90表示向北,表示向北,180表示向西,表示向西,270表示向南)表示向南)home()设置当前画笔位置为原点,朝向东。设置当前画笔位置为原点,朝向东。circle()绘制一个指定半径,角度、以及步骤的圆圈绘制一个指定半径,角度、以及步骤的圆圈 dot(r,color)绘制一个指定直径和颜色的圆点绘制一个指定直径和颜色的圆点 undo()撤销画笔最后

35、一步动作撤销画笔最后一步动作 speed()设置画笔的绘制速度,参数为设置画笔的绘制速度,参数为0-10之间之间 2022-12-3752022-12-376方法名称方法名称 方法含义方法含义color()设置画笔的颜色设置画笔的颜色 begin_fill()填充图形前,调用该方法填充图形前,调用该方法 end_fill()填充图形结束填充图形结束 filling()返回填充的状态,返回填充的状态,True为填充,为填充,False为未填充为未填充clear()清空当前窗口,但不改变当前画笔的位置清空当前窗口,但不改变当前画笔的位置 reset()清空当前窗口,并重置位置等状态为默认值清空当前

36、窗口,并重置位置等状态为默认值 screensize()设置画布的长和宽设置画布的长和宽 hideturtle()隐藏画笔的隐藏画笔的turtle形状形状 showturtle()显示画笔的显示画笔的turtle形状形状 isvisible()如果如果turtle可见,则返回可见,则返回True write(str,font=None)输出输出font字体的字符串字体的字符串 2022-12-3772022-12-3782022-12-3792022-12-380 1个个turtle:绘制外表绘制外表盘盘 3个个turle:模拟表针模拟表针行为行为 1个个turtle:输出表盘输出表盘上的文字

37、上的文字 2022-12-381 第一步:建立第一步:建立Turtle对象并初始化。对象并初始化。表盘绘制表盘绘制Turtle对象对象 文本输出文本输出Turtle对象对象 3个指针个指针Turtle对象对象 第二步:静态表盘绘制第二步:静态表盘绘制 第三步:根据时钟更新表针位置和时间信第三步:根据时钟更新表针位置和时间信息息 说明:需要导入说明:需要导入turtle库和库和datetime库库 2022-12-3822022-12-3832022-12-384 注册注册Turtle形状命令形状命令:register_shap(name,shape=None)name:shape的名的名字,可

38、以是一个字,可以是一个gif图图像像 shape:turtle形状形状,可以为空,可以为空 2022-12-3852022-12-3862022-12-3872022-12-3882022-12-3892022-12-3902022-12-3912022-12-392 数据说明:数据说明:第第1列:路径前进像素列:路径前进像素数数 第第2列:转动方向。列:转动方向。0为左,为左,1为右为右 第第3列:转动的角度列:转动的角度 第第46列:绘制颜色列:绘制颜色的的rgb值值2022-12-3932022-12-394(1)使用)使用import命令为程序引入命令为程序引入turtle库库(2)设

39、置窗口信息和)设置窗口信息和Turtle画笔画笔 2022-12-3952022-12-396(4)根据每一条数据记录进行绘制)根据每一条数据记录进行绘制(5)画笔回到原点)画笔回到原点 2022-12-3972022-12-3982022-12-3992022-12-3100 雪花位置雪花位置 雪花颜色雪花颜色 雪花大小雪花大小 花瓣数目花瓣数目 地面灰色线条长短地面灰色线条长短 地面灰色线条位置地面灰色线条位置 因此,需要导入随机数模块因此,需要导入随机数模块 2022-12-31012022-12-31022022-12-31032022-12-31042022-12-31052022-12-3106 课堂练习二课堂练习二2022-12-3107

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

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

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


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

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


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