欢迎来到淘文阁 - 分享文档赚钱的网站! | 帮助中心 好文档才是您的得力助手!
淘文阁 - 分享文档赚钱的网站
全部分类
  • 研究报告>
  • 管理文献>
  • 标准材料>
  • 技术资料>
  • 教育专区>
  • 应用文书>
  • 生活休闲>
  • 考试试题>
  • pptx模板>
  • 工商注册>
  • 期刊短文>
  • 图片设计>
  • ImageVerifierCode 换一换

    第7章Tkinter图形界面设计.ppt

    • 资源ID:69828650       资源大小:700.50KB        全文页数:32页
    • 资源格式: PPT        下载积分:9金币
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录   QQ登录  
    二维码
    微信扫一扫登录
    下载资源需要9金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    第7章Tkinter图形界面设计.ppt

    第第7章章 Tkinter图形界面设计图形界面设计主讲主讲 夏敏捷夏敏捷计算机学院副教授计算机学院副教授7.1 Python图形开发库Python提供了多个图形开发界面的库,几个常用Python GUI库如下:(1)Tkinter(2)wxPython:wxPython 是一款开源软件,是 Python 语言的一套优秀的 GUI 图形库,允许 Python 程序员很方便的创建完整的、功能键全的 GUI 用户界面。(3)Jython:Jython程序可以和Java无缝集成。除了一些标准模块,Jython使用Java的模块。Jython几乎拥有标准的Python中不依赖于C语言的全部模块。7.1.1 创建Windows窗口【例7-1】Tkinter创建一个Windows窗口的GUI程序。import tkinter#导入Tkinter模块win=tkinter.Tk()#创建Windows窗口对象win.title(我的第一个GUI程序)#设置窗口标题top.mainloop()#进入消息循环,也就是显示窗口7.1.2 几何布局管理器Tkinter几何布局管理器用于组织和管理父组件(往往是窗口)中子组件的布局方式。tkinter提供了3种不同风格的几何布局管理类:pack、grid和place。1pack几何布局管理器7.1.2 几何布局管理器2grid几何布局管理器grid几何布局管理采用表格结构组织组件。7.1.2 几何布局管理器3place几何布局管理器place几何布局管理允许指定组件的大小与位置。place的优点是可以精确控制组件的位置,不足之处是改变窗口大小时,子组件不能随之灵活改变大小。7.2 常用Tkinter 组件的使用7.2.1 7.2.1 Tkinter Tkinter 组件组件7.2.2 标准属性组件标准属性也就是所有组件(控件)的共同属性,如大小,字体和颜色等等。常用的标准属性如表7-5所示。7.2.3 Label标签组件Label组件用于在窗口中显示文本或位图。常用属性如表7-6所示。7.2.4 Button按钮组件Button组件(控件)是一个标准的Tkinter部件,用于实现各种按钮。按钮可以包含文本或图像,您可以通过command属性将调用Python函数或方法关联到按钮上。Tkinter的按钮被按下时,会自动调用该函数或方法。该按钮可以只显示一个单一字体的文本,但文本可能跨越多行。此外,一个字符可以有下划线,例如标记的键盘快捷键。Tkinter Button按钮属性和方法如表7-7和7-8所示。7.2.6 列表框组件Listbox列表框组件Listbox用于显示多个项目,并且允许用户选择一个或多个项目。7.2.7 单选按钮和复选框单选按钮(Radiobutton)和复选框(Checkbutton)分别用于实现选项的单选和复选功能。Radiobutton用于同一组单选按钮中选择一个单选按钮(不能同时选定多个)。Radiobutton可以显示文本,也可以显示图像。Checkbutton用于选择一项或多项,同样Checkbutton可以显示文本,也可以显示图像。7.2.7 单选按钮和复选框单选按钮(Radiobutton)和复选框(Checkbutton)分别用于实现选项的单选和复选功能。Radiobutton用于同一组单选按钮中选择一个单选按钮(不能同时选定多个)。Radiobutton可以显示文本,也可以显示图像。Checkbutton用于选择一项或多项,同样Checkbutton可以显示文本,也可以显示图像。图形用户界面应用程序通常提供菜单,菜单包含各种按照主题分组的基本命令。图形用户界面应用程序包括2种类型的菜单。主菜单:提供窗体的菜单系统。通过单击可下拉出子菜单,选择命令可执行相关的操作。常用的主菜单通常包括:文件、编辑、视图、帮助等。上下文菜单(也称为快捷菜单):通过鼠标右击某对象而弹出的菜单,一般为与该对象相关的常用菜单命令。例如:剪切、复制、粘贴等。7.2.8 菜单组件Menu7.2.9 对话框对话框用于与用户交互和检索信息。tkinter模块中的子模块messagebox、filedialog、colorchooser、simpleDialog,包括一些通用的预定义对话框;用户也可以通过继承TopLevel创建自定义对话框。图图7-18 7-18 打开文件对话框运行效果打开文件对话框运行效果7.2.9 对话框图图7-19 7-19 打开颜色对话框运行效果打开颜色对话框运行效果7.2.10 消息窗口(消息框)消息窗口(messagebox)用于弹出提示框向用户进行告警,或让用户选择下一步如何操作。消息框包括很多类型,常用的有info、warning、error、yesno、okcancel等,包含不同的图标、按钮以及弹出提示音。7.2.11 Frame框架组件Frame组件是框架组件,在进行分组组织其他组件的过程中是非常重要的,负责安排其他组件的位置。Frame组件在屏幕上显示为一个矩形区域,作为显示其他组件的容器。7.2.12 Scrollbar滚动条组件Scrollbar组件是滚动条组件,Scrollbar组件用于滚动一些组件的可见范围,根据方向可分为垂直滚动条和水平滚动条。Scrollbar 组件常常被用于实现文本、画布和列表框的滚动。Scrollbar 组件通常与 Text 组件、Canvas 组件和 Listbox 组件一起使用,水平滚动条还能跟 Entry 组件配合。7.3 图形绘制7.3.1 7.3.1 CanvasCanvas画布组件画布组件Canvas(画布)是一个长方形的区域,用于图形绘制或复杂的图形界面布局。可以在画布上绘制图形、文字,放置各种组件和框架。7.3 图形绘制7.3.2 Canvas7.3.2 Canvas上的图形对象上的图形对象Canvas画布上可以绘制各种图形对象。通过调用如下绘制函数实现。create_arc()绘制圆弧。create_line()绘制直线。create_bitmap()绘制位图。create_image()绘制位图图像。create_oval()绘制椭圆。create_polygon()绘制多边形。create_window()绘制子窗口。create_text()创建一个文字对象7.4 Tkinter字体7.4.1 7.4.1 通过元组表示字体通过元组表示字体通过3个元素的元组,可以表示字体:(font family,size,modifiers)作为一个元组tuple的第一个元素font family是字体名,size为字体大小单位为point;modifiers为包含粗体、斜体、下划线的样式修饰符。7.4 Tkinter字体7.4.2 7.4.2 通过通过FontFont对象表示字体对象表示字体使用tkFont.Font来创建字体。格式如下:ft=tkFont.Font(family=字体名,size,weight,slant,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)【例7-32】绘制图像示例,运行效果如图7-31所示。7.5 Python事件处理事件处理所谓事件(event)就是程序上发生的事。例如用户敲击键盘上某一个键或是单击、移动鼠标。而对于这些事件,程序需要做出反应。Tkinter提供的组件通常都有自己可以识别的事件。例如当按钮被单击时执行特定操作或是当一个输入栏成为焦点,而您又敲击了键盘上的某些按键,您所输入的内容就会显示在输入栏内。程序可以使用事件处理函数来指定当触发某个事件时所做的反应(操作)。7.5.1 事件类型事件类型事件类型的通用格式:事件类型必须放置于尖括号内。type描述了类型,例如键盘按键、鼠标单击。modifier用于组合键定义,例如Control、Alt。detail用于明确定义是哪一个键或按钮的事件,例如1表示鼠标左键、2表示鼠标中键、3表示鼠标右键。举例:按下鼠标左键。按下键盘上的A键 同时按下了Control、Shift、A三键。7.5.2 事件绑定程序建立一个处理某一事件的事件处理函数,称之为绑定。1创建组件对象时指定创建组件对象实例时,可通过其命名参数command指定事件处理函数。例def callback():#事件处理函数 showinfo(Python command,人生苦短、我用Python)Bu1=Button(root,text=设置事件调用命令,command=callback)Bu1.pack()2实例绑定调用组件对象实例方法bind可为指定组件实例绑定事件。这是最常用事件绑定方式。组件对象实例名.bind(,事件处理函数)例如假设声明了一个名为canvas的Canvas组件对象,想在canvas上按下鼠标左键时画上一条线,可以这样实现:canvas.bind(,drawline)7.5.2 事件绑定3类绑定将事件与一组件类绑定。调用任意组件实例的.bind_class()函数为特定组件类绑定事件。组件实例名.bind_class(组件类,事件处理函数)7.5.2 事件绑定4程序界面绑定当无论在哪一组件实例上触发某一事件,程序都作出相应的处理。例如您可能会将PrintScreen键与程序中的所有组件对象绑定,这样整个程序界面就能处理打印屏幕的事件了。调用任意组件实例的.bind_all()函数为程序界面绑定事件。组件实例名.bind_ all(,事件处理函数)例如可以这样实现打印屏幕:widget.bind_all(,printScreen)。5标识绑定标识绑定在Canvas画布中绘制各种图形,将图形与事件绑定可以使用标识绑定tag_bind()函数。预先为图形定义标识tag后,通过标识tag来绑定事件。例如:cv.tag_bind(r1,printRect)7.5.2 事件绑定事件处理函数往往带有一个event参数。触发事件调用事件处理函数时,将传递Event对象实例。def callback(event):#事件处理函数 showinfo(Python command,人生苦短、我用Python)【例7-39】触发keyPress键盘事件的例子,运行效果如图7-37所示。7.6.1 开发猜数字游戏开发猜数字游戏【案例】使用tkinter开发猜数字游戏,运行效果如图7-39所示。游戏中电脑随机生成1024以内数字,玩家去猜,如果猜得数字过大过小都会提示,程序要统计玩家猜的次数。7.6.2 扑克牌发牌程序窗体图形版【案例】游戏初步扑克牌发牌程序窗体图形版。4名牌手打牌,电脑随机将52张牌(不含大小鬼)发给4名打牌,在屏幕上显示每位牌手的牌。程序的运行效果如图7-40所示。

    注意事项

    本文(第7章Tkinter图形界面设计.ppt)为本站会员(可****阿)主动上传,淘文阁 - 分享文档赚钱的网站仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知淘文阁 - 分享文档赚钱的网站(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于淘文阁 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

    本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

    工信部备案号:黑ICP备15003705号 © 2020-2023 www.taowenge.com 淘文阁 

    收起
    展开