Python游戏设计案例实战第4章--Tkinter图形界面设计——猜数字游戏

PPT
  • 阅读 89 次
  • 下载 0 次
  • 页数 29 页
  • 大小 568.000 KB
  • 2022-11-12 上传
  • 收藏
  • 违规举报
  • © 版权认领
下载文档8.00 元 加入VIP免费下载
此文档由【小橙橙】提供上传,收益归文档提供者,本网站只提供存储服务。若此文档侵犯了您的版权,欢迎进行违规举报版权认领
Python游戏设计案例实战第4章--Tkinter图形界面设计——猜数字游戏
可在后台配置第一页与第二页中间广告代码
Python游戏设计案例实战第4章--Tkinter图形界面设计——猜数字游戏
可在后台配置第二页与第三页中间广告代码
Python游戏设计案例实战第4章--Tkinter图形界面设计——猜数字游戏
可在后台配置第三页与第四页中间广告代码
Python游戏设计案例实战第4章--Tkinter图形界面设计——猜数字游戏
Python游戏设计案例实战第4章--Tkinter图形界面设计——猜数字游戏
还剩10页未读,继续阅读
【这是免费文档,您可以免费阅读】
/ 29
  • 收藏
  • 违规举报
  • © 版权认领
下载文档8.00 元 加入VIP免费下载
文本内容

【文档说明】Python游戏设计案例实战第4章--Tkinter图形界面设计——猜数字游戏.ppt,共(29)页,568.000 KB,由小橙橙上传

转载请保留链接:https://www.ichengzhen.cn/view-2436.html

以下为本文档部分文字说明:

第4章Tkinter图形界面设计•主讲夏敏捷•计算机学院副教授开发猜数字游戏•【案例】使用tkinter开发猜数字游戏,运行效果如图所示。•游戏中电脑随机生成1024以内数字,玩家去猜,如果猜得数字过大过小都会提示,程序要统计玩家猜的次数。4.

1Python图形开发库Python提供了多个图形开发界面的库,几个常用PythonGUI库如下:(1)Tkinter(2)wxPython:wxPython是一款开源软件,是Python语言的一套优秀的G

UI图形库,允许Python程序员很方便的创建完整的、功能键全的GUI用户界面。(3)Jython:Jython程序可以和Java无缝集成。除了一些标准模块,Jython使用Java的模块。Jython几乎拥有标准的Python中不依赖于C语言的全部模块。4.

1.1创建Windows窗口【例4-1】Tkinter创建一个Windows窗口的GUI程序。importtkinter#导入Tkinter模块win=tkinter.Tk()#创建Windows窗口对象win.title('我的第一个GUI程序')#设置窗口标题win.mainloop()#进

入消息循环,也就是显示窗口4.1.2几何布局管理器•Tkinter几何布局管理器用于组织和管理父组件(往往是窗口)中子组件的布局方式。tkinter提供了3种不同风格的几何布局管理类:pack、grid

和place。•1.pack几何布局管理器4.1.2几何布局管理器•2.grid几何布局管理器•grid几何布局管理采用表格结构组织组件。4.1.2几何布局管理器•3.place几何布局管理器•place几何布局管理允许指定组件的大小与位置。place的优点是可以精确控制组件的位置

,不足之处是改变窗口大小时,子组件不能随之灵活改变大小。4.2常用Tkinter组件的使用•4.2.1Tkinter组件4.2.2标准属性•组件标准属性也就是所有组件(控件)的共同属性,如大小,字体和颜色等等。常用的标准属性如表4-5所示。4.2.

3Label标签组件•Label组件用于在窗口中显示文本或位图。常用属性如表4-6所示。4.2.4Button按钮组件•Button组件(控件)是一个标准的Tkinter部件,用于实现各种按钮。按钮可以包含文本或图像,您可以通过command属性

将调用Python函数或方法关联到按钮上。Tkinter的按钮被按下时,会自动调用该函数或方法。该按钮可以只显示一个单一字体的文本,但文本可能跨越多行。此外,一个字符可以有下划线,例如标记的键盘快捷键。TkinterButton按钮属性和方法如表4-7和4-8所示。4.2

.6列表框组件Listbox•列表框组件Listbox用于显示多个项目,并且允许用户选择一个或多个项目。4.2.7单选按钮和复选框•单选按钮(Radiobutton)和复选框(Checkbutton)分别用于实现选项的单选和复

选功能。Radiobutton用于同一组单选按钮中选择一个单选按钮(不能同时选定多个)。Radiobutton可以显示文本,也可以显示图像。Checkbutton用于选择一项或多项,同样Checkbutton可以显示文本,也可

以显示图像。4.2.7单选按钮和复选框•单选按钮(Radiobutton)和复选框(Checkbutton)分别用于实现选项的单选和复选功能。Radiobutton用于同一组单选按钮中选择一个单选按钮(不能同时选定多个)。Radiobutton可以显示文本,也可以显示图像。C

heckbutton用于选择一项或多项,同样Checkbutton可以显示文本,也可以显示图像。图形用户界面应用程序通常提供菜单,菜单包含各种按照主题分组的基本命令。图形用户界面应用程序包括2种类型的菜单。主菜单:提供窗体的菜单系统。通过单击可下拉出子菜单,选择命令可执行相关的操作。常

用的主菜单通常包括:文件、编辑、视图、帮助等。上下文菜单(也称为快捷菜单):通过鼠标右击某对象而弹出的菜单,一般为与该对象相关的常用菜单命令。例如:剪切、复制、粘贴等。4.2.8菜单组件Menu4.2.9对话框•对话框用于与用户交互和检索信息。tki

nter模块中的子模块messagebox、filedialog、colorchooser、simpleDialog,包括一些通用的预定义对话框;用户也可以通过继承TopLevel创建自定义对话框。•图4-18打开文件对话框运行效果

4.2.9对话框•图4-19打开颜色对话框运行效果4.2.10消息窗口(消息框)•消息窗口(messagebox)用于弹出提示框向用户进行告警,或让用户选择下一步如何操作。消息框包括很多类型,常用的有info、warning、error、yesno、ok

cancel等,包含不同的图标、按钮以及弹出提示音。4.2.11Frame框架组件•Frame组件是框架组件,在进行分组组织其他组件的过程中是非常重要的,负责安排其他组件的位置。Frame组件在屏幕上显示为一个矩形区域,作为显示其他组件的容器。

4.2.12Scrollbar滚动条组件•Scrollbar组件是滚动条组件,Scrollbar组件用于滚动一些组件的可见范围,根据方向可分为垂直滚动条和水平滚动条。Scrollbar组件常常被用于实现文本、画布和列表框的滚动。•Scrollbar组件通常与Text组件、Ca

nvas组件和Listbox组件一起使用,水平滚动条还能跟Entry组件配合。4.4Tkinter字体4.4.1通过元组表示字体通过3个元素的元组,可以表示字体:(fontfamily,size,modifiers)作为一个元组tuple的第一个元素fontfamily是字体名,size为

字体大小单位为point;modifiers为包含粗体、斜体、下划线的样式修饰符。4.4Tkinter字体4.4.2通过Font对象表示字体使用tkFont.Font来创建字体。格式如下:ft=tkFont.Font(family='字体名',size,weight,sla

nt,underline,overstrike)其中:size为字体大小;weight='bold'或'normal','bold'为粗体;slant='italic'或'normal','italic'为斜体;

underline=1或0,1为下划线;overstrike=1或0,1为删除线。ft=Font(family="Helvetica",size=36,weight="bold")4.5Python事件处理•所谓事件(event)就是

程序上发生的事。例如用户敲击键盘上某一个键或是单击、移动鼠标。而对于这些事件,程序需要做出反应。Tkinter提供的组件通常都有自己可以识别的事件。例如当按钮被单击时执行特定操作或是当一个输入栏成为焦点,而您又敲击了键盘上的某些按键,您所输入的

内容就会显示在输入栏内。•程序可以使用事件处理函数来指定当触发某个事件时所做的反应(操作)。4.5.1事件类型事件类型的通用格式:<[modifier-]…type[-detail]>事件类型必须放置于尖括号<>内。type描述了类型,例如键盘按键、鼠标单击。modi

fier用于组合键定义,例如Control、Alt。detail用于明确定义是哪一个键或按钮的事件,例如1表示鼠标左键、2表示鼠标中键、3表示鼠标右键。举例:<Button-1>按下鼠标左键。<KeyPress-A>按下键盘上的A键<Control-Shift-Ke

yPress-A>同时按下了Control、Shift、A三键。4.5.2事件绑定程序建立一个处理某一事件的事件处理函数,称之为绑定。1.创建组件对象时指定创建组件对象实例时,可通过其命名参数command指定事件处理函数。例defcallback():#事件处理函数s

howinfo("Pythoncommand","人生苦短、我用Python")Bu1=Button(root,text="设置事件调用命令",command=callback)Bu1.pack()2.实例绑定调用组件对象实例方法

bind可为指定组件实例绑定事件。这是最常用事件绑定方式。组件对象实例名.bind("<事件类型>",事件处理函数)例如假设声明了一个名为canvas的Canvas组件对象,想在canvas上按下鼠标左

键时画上一条线,可以这样实现:canvas.bind("<Button-1>",drawline)4.5.2事件绑定3.类绑定将事件与一组件类绑定。调用任意组件实例的.bind_class()函数为特定组件类绑定事件。组件实例名.bind_class("组件类","<事件类型>",事件处理函

数)4.5.2事件绑定4.程序界面绑定当无论在哪一组件实例上触发某一事件,程序都作出相应的处理。例如您可能会将PrintScreen键与程序中的所有组件对象绑定,这样整个程序界面就能处理打印屏幕的事件了。调用任意组件实例的.bind_all()函数为程序界面绑定事件。组件

实例名.bind_all("<事件类型>",事件处理函数)例如可以这样实现打印屏幕:widget.bind_all("<Key-Print>",printScreen)。5.标识绑定在Canvas画布中绘制各种图形,将图形与事件绑定

可以使用标识绑定tag_bind()函数。预先为图形定义标识tag后,通过标识tag来绑定事件。例如:cv.tag_bind('r1','<Button-1>',printRect)4.5.2事件绑定事件处理函数往往带有一个e

vent参数。触发事件调用事件处理函数时,将传递Event对象实例。defcallback(event):#事件处理函数showinfo("Pythoncommand","人生苦短、我用Python")【例4-39】触发keyPress键盘事件的例

子,运行效果如图4-34所示。开发猜数字游戏•【案例】使用tkinter开发猜数字游戏,运行效果如图所示。•游戏中电脑随机生成1024以内数字,玩家去猜,如果猜得数字过大过小都会提示,程序要统计玩家猜的次数。

小橙橙
小橙橙
文档分享,欢迎浏览!
  • 文档 25747
  • 被下载 7
  • 被收藏 0
相关资源
广告代码123
若发现您的权益受到侵害,请立即联系客服,我们会尽快为您处理。侵权客服QQ:395972555 (支持时间:9:00-21:00) 公众号
Powered by 太赞文库
×
确认删除?