第十章Python的GUI编程PPT资料.ppt
- 文档编号:15596161
- 上传时间:2022-11-07
- 格式:PPT
- 页数:107
- 大小:2.11MB
第十章Python的GUI编程PPT资料.ppt
《第十章Python的GUI编程PPT资料.ppt》由会员分享,可在线阅读,更多相关《第十章Python的GUI编程PPT资料.ppt(107页珍藏版)》请在冰豆网上搜索。
2022/11/74二、二、GUI程序开发简介程序开发简介日常使用的大量客户端程序都属于日常使用的大量客户端程序都属于GUI程程序,即在一个界面上有很多功能块,包括:
序,即在一个界面上有很多功能块,包括:
标签、按钮、输入框、菜单等。
开发开发GUI程序,首先需要有一块空白画面,程序,首先需要有一块空白画面,然后在其上划分出不同的区域,放上不同然后在其上划分出不同的区域,放上不同的模块,最后完成每一个模块的功能。
的模块,最后完成每一个模块的功能。
2022/11/75GUI程序开发基本程序开发基本步骤和过程:
步骤和过程:
首先要有底层的根窗口对象,在其基础上创建一个首先要有底层的根窗口对象,在其基础上创建一个个小窗口对象。
每一个窗口都是一个容器,可将所个小窗口对象。
每一个窗口都是一个容器,可将所需的组件置于其中。
每种需的组件置于其中。
每种GUI开发库都拥有大量的开发库都拥有大量的组件,一个组件,一个GUI程序就是由各种不同功能的组件组程序就是由各种不同功能的组件组成的,而根窗口对象则包含了所有组件。
成的,而根窗口对象则包含了所有组件。
组件本身也可以作为一个容器,它可以包含其他组组件本身也可以作为一个容器,它可以包含其他组件,如下拉框。
这种包含其他组件的称为父组件,件,如下拉框。
这种包含其他组件的称为父组件,反之,包含在其他组件中的组件称为子组件。
这是反之,包含在其他组件中的组件称为子组件。
这是一种相对的概念,对于有着多层包含的情况,某组一种相对的概念,对于有着多层包含的情况,某组件的父组件一般指的是直接包含它的组件。
件的父组件一般指的是直接包含它的组件。
2022/11/762022/11/77构建出了构建出了GUI程序的每一个组件,只完成了程序程序的每一个组件,只完成了程序的界面,但此时只能看不能用,需要给每一个组的界面,但此时只能看不能用,需要给每一个组件添加对应的功能。
件添加对应的功能。
使用使用GUI程序时,会进行各种操作,如鼠标移动,程序时,会进行各种操作,如鼠标移动,按下或松开鼠标键,按下键盘按键等,这些操作按下或松开鼠标键,按下键盘按键等,这些操作称为事件。
每个组件对应着一些行为,如在文本称为事件。
每个组件对应着一些行为,如在文本框中输入文本,单击按钮等,这些也称为事件。
框中输入文本,单击按钮等,这些也称为事件。
GUI程序启动的时候就一直监控这些事件,当某程序启动的时候就一直监控这些事件,当某个事件发生的时候,就进行对应的处理并返回相个事件发生的时候,就进行对应的处理并返回相应的结果。
因此,应的结果。
因此,GUI程序是由这一整套事件驱程序是由这一整套事件驱动的,这个过程称为事件驱动处理。
动的,这个过程称为事件驱动处理。
2022/11/78一个事件发生后,一个事件发生后,GUI程序捕获该事件、作出对程序捕获该事件、作出对应的处理并返回结果的过程称为回调。
如计算器应的处理并返回结果的过程称为回调。
如计算器程序,单击了程序,单击了“=”按钮之后,便产生了一个事件,按钮之后,便产生了一个事件,需要计算最终的结果,程序便开始对算式进行计需要计算最终的结果,程序便开始对算式进行计算,返回最终结果并显示出来。
这个计算并显示算,返回最终结果并显示出来。
这个计算并显示结果的过程即为回调。
结果的过程即为回调。
当为程序需要的每一个事件都添加完相应的回调当为程序需要的每一个事件都添加完相应的回调处理之后,整个处理之后,整个GUI就完成了。
就完成了。
三三、Tkinter与主要组件与主要组件Tk是是Python默认的工具集(即图形库),默认的工具集(即图形库),Tkinter是是Tk的的Python接口,通过接口,通过Tkinter可可以方便地调用以方便地调用Tk进行图形界面开发。
进行图形界面开发。
Tk与其他开发库相比,不是最强大的,模块工具与其他开发库相比,不是最强大的,模块工具也不是非常的丰富。
但它非常简单,所提供的功也不是非常的丰富。
但它非常简单,所提供的功能开发一般的应用也完全够用了,且能在大部分能开发一般的应用也完全够用了,且能在大部分平台上运行。
平台上运行。
Python自带的自带的IDEL也是用也是用Tkinter开发的。
开发的。
Tkinter的的不足之处不足之处是是缺少合适的可视化界面设缺少合适的可视化界面设计工具,需要通过代码来完成窗口设计和元素布计工具,需要通过代码来完成窗口设计和元素布局局。
2022/11/792022/11/710Tkinter中提供了较为丰富的控件,完全能满足中提供了较为丰富的控件,完全能满足基本的基本的GUI程序的需求。
程序的需求。
由于由于Tkinter模块已经在模块已经在Python中内置,所以中内置,所以在使用之前,只需将其导入即可。
在使用之前,只需将其导入即可。
两种导入方式为:
importtkinterastk导入导入tkinter,但没,但没引入任何组件,在使用时需要使用引入任何组件,在使用时需要使用tk前缀,如需要前缀,如需要引入按钮,则表示为:
引入按钮,则表示为:
tk.Button。
fromtkinterimport*将将tkinter中的所中的所有组件一次性引入。
有组件一次性引入。
1、在程序中使用、在程序中使用Tkinter利用利用Tkinter模块来引用模块来引用Tk构建和运行构建和运行GUI程序,通常需要程序,通常需要5步:
步:
导入导入Tkinter模块;
模块;
创建一个顶层窗口;
在顶层窗口的基础上构建所需要的在顶层窗口的基础上构建所需要的GUI模块和模块和功能;
功能;
将每一个模块与底层程序代码关联起来;
执行主循环。
2022/11/711Tkinter主要组件简介主要组件简介组件组件功能功能Button按钮。
类似标签,但提供额外功能,如鼠标按下、释放及键盘操作事件按钮。
类似标签,但提供额外功能,如鼠标按下、释放及键盘操作事件Canvas画布。
提供绘图功能(直线、椭圆、多边形、矩形),可以包含图形或位图画布。
提供绘图功能(直线、椭圆、多边形、矩形),可以包含图形或位图Checkbutton选择按钮。
一组方框,可以选择其中的任意个选择按钮。
一组方框,可以选择其中的任意个Radiobutton单选按钮。
一组方框,其中只有一个可被选择单选按钮。
一组方框,其中只有一个可被选择Entry文本框。
单行文字域,用来收集键盘输入文本框。
单行文字域,用来收集键盘输入Frame框架。
包含其他组件的纯容器框架。
包含其他组件的纯容器Label标签。
用来显示文字或图片标签。
用来显示文字或图片Listbox列表框。
一个选项列表,用户可以从中选择列表框。
一个选项列表,用户可以从中选择Menu菜单。
单击后弹出一个选项列表,用户可以从中选择菜单。
单击后弹出一个选项列表,用户可以从中选择Menubutton菜单按钮。
用来包含菜单的组件(有下拉式、层叠式)菜单按钮。
用来包含菜单的组件(有下拉式、层叠式)Message消息框。
类似于标签,但可以显示多行文本消息框。
类似于标签,但可以显示多行文本Scale进度条。
线性进度条。
线性“滑块滑块”组件,可设定起始值和结束值,显示当前位置的精确值组件,可设定起始值和结束值,显示当前位置的精确值Scrollbar滚动条。
对其支持的组件(文本域、画布、列表框、文本框)提供滚动功能滚动条。
对其支持的组件(文本域、画布、列表框、文本框)提供滚动功能Text文本域。
多行文字区域,可用来收集(或显示)用户输入的文字文本域。
多行文字区域,可用来收集(或显示)用户输入的文字Toplevel顶级。
类似框架,但提供一个独立的窗口容器。
顶级。
12组件的共同属性:
组件的共同属性:
dimensions:
尺寸:
尺寸colors:
颜色:
颜色fonts:
字体:
字体anchors:
锚:
锚reliefstyles:
浮雕式:
浮雕式bitmaps:
显示位图:
显示位图cursors:
光标的外形:
光标的外形说明:
每种组件还有其各自特有的属性说明:
每种组件还有其各自特有的属性2022/11/713注意:
注意:
Tk使用了一种包管理器来管理所有的组件,当定使用了一种包管理器来管理所有的组件,当定义完组件之后,需要调用义完组件之后,需要调用pack()方法来控制组方法来控制组件的显示方式,若不调用件的显示方式,若不调用pack()方法,组件将方法,组件将不会显示。
不会显示。
在交互环境下,编写在交互环境下,编写Tkinter测试代码时,运行测试代码时,运行过过Tk()(创建顶层窗口的函数)之后即进入主循(创建顶层窗口的函数)之后即进入主循环,可以看到顶层窗口。
而若是运行环,可以看到顶层窗口。
而若是运行py文件,一文件,一定要调用定要调用mainloop()方法进入主循环,方可看方法进入主循环,方可看到顶层窗口。
到顶层窗口。
2022/11/714创建创建GUI应用程序窗口代码应用程序窗口代码模板:
模板:
2022/11/7152、顶层窗口、顶层窗口顶层窗口也称为根窗口。
顶层窗口也称为根窗口。
顶层窗口实际上是一个普通窗口,包括一顶层窗口实际上是一个普通窗口,包括一个标题栏和窗口管理器所提供的窗口装饰个标题栏和窗口管理器所提供的窗口装饰部分,如最大化按钮等。
部分,如最大化按钮等。
在一个在一个Tkinter开发的应用程序中,只需开发的应用程序中,只需要创建一个顶层窗口即可,且此窗口的创要创建一个顶层窗口即可,且此窗口的创建必须是在其他窗口创建之前。
建必须是在其他窗口创建之前。
2022/11/716例例10-1:
创建顶层窗口:
创建顶层窗口2022/11/717执行结果:
执行结果:
3、标签、标签标签组件可以用来显示图片和文本,通过标签组件可以用来显示图片和文本,通过在文本中添加换行符来控制换行,也可以在文本中添加换行符来控制换行,也可以通过控制组件的大小实现自动换行。
通过控制组件的大小实现自动换行。
例例10-2:
使用标签(:
使用标签(Label)编写一个程)编写一个程序,在程序主体中显示序,在程序主体中显示“HelloWorld!
”。
2022/11/718程序及执行结果:
程序及执行结果:
2022/11/719Label组件常用参数组件常用参数参数参数描述描述height组件的高度(所占行数)组件的高度(所占行数)width组件的宽度(所占字符个数)组件的宽度(所占字符个数)fg前景字体颜色前景字体颜色bg背景颜色背景颜色justify多行文本的对齐方式,可选参数为:
多行文本的对齐方式,可选参数为:
LEFT、CE
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 第十 Python GUI 编程
![提示](https://static.bdocx.com/images/bang_tan.gif)