第7章Tkinter图形界面设计--夏敏捷.ppt
《第7章Tkinter图形界面设计--夏敏捷.ppt》由会员分享,可在线阅读,更多相关《第7章Tkinter图形界面设计--夏敏捷.ppt(42页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、课程主讲人:第7章 Tkinter图形界面设计-夏敏捷第第7章章 Tkinter图形界面设计图形界面设计主讲主讲 夏敏捷夏敏捷计算机学院副教授计算机学院副教授7.1 Python图形开发库Python提供了多个图形开发界面的库,几个常用Python GUI库如下:(1)Tkinter (2)wxPython:wxPython 是一款开源软件,是 Python 语言的一套优秀的 GUI 图形库,允许 Python 程序员很方便的创建完整的、功能键全的 GUI 用户界面。 (3)Jython:Jython程序可以和Java无缝集成。除了一些标准模块,Jython使用Java的模块。Jython几乎
2、拥有标准的Python中不依赖于C语言的全部模块。7.1.1 创建Windows窗口【例7-1】Tkinter创建一个Windows窗口的GUI程序。import tkinter#导入Tkinter模块win = tkinter.Tk()#创建Windows窗口对象win.title(我的第一个GUI程序)#设置窗口标题win.mainloop()#进入消息循环,也就是显示窗口7.1.2 几何布局管理器 Tkinter几何布局管理器用于组织和管理父组件(往往是窗口)中子组件的布局方式。tkinter提供了3种不同风格的几何布局管理类:pack、grid和place。 1packpack几何布局
3、管理器7.1.2 几何布局管理器 2gridgrid几何布局管理器 grid几何布局管理采用表格结构组织组件。7.1.2 几何布局管理器 3placeplace几何布局管理器 place几何布局管理允许指定组件的大小与位置。place的优点是可以精确精确控制组件的位置,不足之处是改变窗口大小时,子组件不能随之灵活改变大小。7.2 常用Tkinter 组件的使用 7.2.1 Tkinter 7.2.1 Tkinter 组件组件7.2.2 标准属性 组件标准属性也就是所有组件(控件)的共同属性,如大小,字体和颜色等等。常用的标准属性如表7-5所示。7.2.3 Label标签组件 Label组件用于
4、在窗口中显示文本或位图。常用属性如表7-6所示。7.2.4 Button按钮组件 Button组件(控件)是一个标准的Tkinter部件,用于实现各种按钮。按钮可以包含文本或图像,您可以通过command属性将调用Python函数或方法关联到按钮上。Tkinter的按钮被按下时,会自动调用该函数或方法。该按钮可以只显示一个单一字体的文本,但文本可能跨越多行。此外,一个字符可以有下划线,例如标记的键盘快捷键。Tkinter Button按钮属性和方法如表7-7和7-8所示。7.2.6 列表框组件Listbox 列表框组件列表框组件Listbox用于显示多个项目,并且允许用户选择一个或多个项目。7
5、.2.7 单选按钮和复选框 单选按钮(Radiobutton)和复选框(Checkbutton)分别用于实现选项的单选和复选功能。Radiobutton用于同一组单选按钮中选择一个单选按钮(不能同时选定多个)。Radiobutton可以显示文本,也可以显示图像。Checkbutton用于选择一项或多项,同样Checkbutton可以显示文本,也可以显示图像。7.2.7 单选按钮和复选框 单选按钮(Radiobutton)和复选框(Checkbutton)分别用于实现选项的单选和复选功能。Radiobutton用于同一组单选按钮中选择一个单选按钮(不能同时选定多个)。Radiobutton可以显
6、示文本,也可以显示图像。Checkbutton用于选择一项或多项,同样Checkbutton可以显示文本,也可以显示图像。图形用户界面应用程序通常提供菜单,菜单包含各种按照主题分组的基本命令。图形用户界面应用程序包括2种类型的菜单。主菜单:提供窗体的菜单系统。通过单击可下拉出子菜单,选择命令可执行相关的操作。常用的主菜单通常包括:文件、编辑、视图、帮助等。上下文菜单(也称为快捷菜单):通过鼠标右击某对象而弹出的菜单,一般为与该对象相关的常用菜单命令。例如:剪切、复制、粘贴等。7.2.8 菜单组件MenuMenu对象创建Menu对象的基本方法如下:Menu对象 = Menu(Windows窗口对
7、象)将Menu对象显示在窗口中的方法如下:Windows窗口对象menu = Menu对象Windows窗口对象.mainloop()from tkinter import *root = Tk()def hello():#菜单项事件函数,可以每个菜单项单独写 print(你单击主菜单)m = Menu(root)for item in 文件,编辑,视图: # #添加菜单项添加菜单项 m.add_command(label =item, command = hellohello)rootmenu = m#附加主菜单到窗口root.mainloop()添加下拉菜单前面介绍的Menu组件只创建了主
8、菜单,默认情况并不包含下拉菜单。可以将一个Menu组件作为另一个Menu组件的下拉菜单,方法如下: Menu对象1.add_cascade(label = 菜单文本,menu = Menu对象2)上面的语句将Menu对象2设置为Menu对象1的下拉菜单。在创建Menu对象2时也要指定它是Menu对象1的子菜单,方法如下: Menu对象2= Menu(Menu对象1)添加下拉菜单from tkinter import *def hello(): print(Im a child menu)root = Tk()m1 = Menu(root)#创建主菜单filemenu = Menu(m1)#创建
9、下拉菜单editmenu = Menu(m1)#创建下拉菜单for item in 打开,关闭,退出:#添加菜单项 filemenu.add_command(label =item, command = hello)for item in 复制,剪切,粘贴: #添加菜单项 editmenu.add_command(label =item, command = hello)m1.add_cascade(label =文件, menu = filemenu)#把filemenu作为文件下拉菜单m1.add_cascade(label =编辑, menu = editmenu) #把editmenu
10、作为编辑下拉菜单rootmenu = m1#附加主菜单到窗口root.mainloop()创建上下文菜单上下文菜单(也称为快捷菜单)是通过鼠标右击某对象而弹出的菜单,一般为与该对象相关的常用菜单命令。例如:剪切、复制、粘贴等。创建上下文菜单一般遵循下列步骤。(1)创建菜单(与创建主菜单相同)。例如:menubar =Menu( root)menubar. add_command(label =剪切, command = hello1)menubar. add_command(label =复制, command = hello2)menubar. add_command(label =粘贴,
11、command = hello3)(2)绑定鼠标右击事件,并在事件处理函数中弹出菜单。例如:def popup(event)#事件处理函数 menubar. post( event.x_root, event.y_root) #在鼠标右键位置显示菜单root. bind(,popup)#绑定事件7.2.9 对话框 对话框用于与用户交互和检索信息。tkinter模块中的子模块messagebox、filedialog、colorchooser、simpleDialog,包括一些通用的预定义对话框;用户也可以通过继承TopLevel创建自定义对话框。 图图7-18 7-18 打开文件对话框运行效果
12、打开文件对话框运行效果颜色对话框 打开颜色对话框运行效果打开颜色对话框运行效果from tkinter import *from tkinter.colorchooser import * # 引入colorchooser模块root = Tk()# 调用askcolor返回选中颜色的(R,G,B)颜色值及#RRGGBB表示print (askcolor()root.mainloop()7.2.10 消息窗口(消息框) 消息窗口(messagebox)用于弹出提示框向用户进行告警,或让用户选择下一步如何操作。消息框包括很多类型,常用的有info、warning、error、yesno、okca
13、ncel等,包含不同的图标、按钮以及弹出提示音。消息窗口(消息框)消息窗口(messagebox)用于弹出提示框向用户进行告警,或让用户选择下一步如何操作。消息框包括很多类型,常用的有有infoinfo、warningwarning、errorerror、yesnoyesno、okcancelokcancel等,包含不同的图标、按钮以及弹出提示音。 import tkinter as tk from tkinter import messagebox as msgbox msgbox.showinfo(Info, Showinfo test.) msgbox.askyesno(YesNo, A
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 第7章 Tkinter图形界面设计-夏敏捷 Tkinter 图形界面 设计 敏捷
限制150内