上海交通大学 python程序设计课程 Ch.pptxVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
上海交通大学 python程序设计课程 Ch程序的用户界面第1页/共32页程序中与用户进行交互的部分用户通过UI向程序输入数据或者请求程序执行特定任务程序通过UI向用户显示各种信息UI应该是用户友好的两类UI命令行界面图形界面(GUI)GUI构件第2页/共32页窗口Window是容器:可以容纳其他构件的构件程序有一个根窗口标签Label按钮Button菜单Menu框架Frame也是容器构件之间的关系第3页/共32页父子关系在一个构件内创建另一个构件界面上全体构件形成一个层次结构顶层是根窗口父构件内安排子构件:使用布局管理器事件驱动第4页/共32页GUI程序的执行流程取决于与用户的实时交互例如:Word程序的执行事件驱动编程普通程序的执行:启动——做事——终止事件驱动程序的执行:启动——事件循环等待事件发生,然后处理程序的终止也是由特定事件(如关闭窗口事件)引起的 基本概念第5页/共32页事件:例如点击鼠标,按下键盘等.事件处理程序:对事件进行处理的代码. 事件驱动编程:一种编程范型程序有一个事件循环事件监测OS功能,由工具包提供支持事件处理应用程序员只需编写自己的事件处理程序 GUI编程第6页/共32页需要GUI工具包将低层细节对程序员隐藏跨平台Python标准库:TkinterGUI编程设计界面外观为每个构件定义事件处理代码建立启动初始化和总控部分Tkinter的常用构件类第7页/共32页ButtonCanvasCheckbuttonEntryFrameLabelListboxMenuMessageRadiobuttonTextToplevel最简单的Tkinter程序第8页/共32页导入Tkinter建立根窗口进入事件循环例:eg8_1.pyfrom Tkinter import *root = Tk()root.mainloop() 在窗口中添加构件第9页/共32页两步:创建布局例:eg8_2.pyfrom Tkinter import *root = Tk()aLabel = Label(root,text=Hello World)aLabel.pack()root.mainloop() 在窗口中添加构件第10页/共32页构件对象有很多属性(实例变量):创建时设置属性的值属性一般都有缺省值用命名参数方式设置较方便:属性=属性值创建时不设置,将来再设置或修改利用构件类的config方法:对象.config(属性=属性值)对象视为字典:对象[属性]=属性值根窗口第11页/共32页根窗口的标题设置root.title(My GUI)缺省值为Tk根窗口的尺寸设置root.geometry(400x400) 缺省值为200x200构件间的父子关系第12页/共32页GUI中的所有构件按父子关系构成树状层次结构每个构件都有master和children属性Tkinter自动维护这两个属性的值编程时可利用这两个属性,例如:aLabel.master.title(My GUI)界面设计过程第13页/共32页根据需要创建多个构件,然后在窗口中进行布局.例:eg8_3.pyfrom Tkinter import *root = Tk()aLabel = Label(root,text=Hello World)aLabel.pack()aButton = Button(root,text=Click Me)aButton.pack()root.mainloop() 常用构件:标签第14页/共32页类:Labellb = Label(窗口,选项设置)text:标签文本内容width:标签宽度fg:前景色(文本颜色)例如 aLabel = Label(root,text=Hello World) aLabel.pack() Label(root,text=red color,fg=red).pack() 注意写法:对象创建与方法调用合二为一常用构件:按钮第15页/共32页类:Buttonbtn = Button(窗口,选项设置)text:按钮上的文本command:点击按钮时要执行的命令需要提供一个函数或方法名f注意不是函数调用f()height,widthfg,bgrelief:RAISED/FLAT/SUNKEN/GROOVE/state:NORMAL/ACTIVE/DISABLED例:按钮第16页/共32页下例中按钮对应的函数是root对象的方法quit b=Button(root,text=Quit,command=root.quit) b.pack() root.mainloop() # 点击按钮退出主循环,回到下例中按钮对应的函数是自定义函数 def hiButton():... print hi there... B

文档评论(0)

kuailelaifenxian + 关注
官方认证
文档贡献者

该用户很懒,什么也没介绍

认证主体太仓市沙溪镇牛文库商务信息咨询服务部
IP属地上海
统一社会信用代码/组织机构代码
92320585MA1WRHUU8N

1亿VIP精品文档

相关文档