- 1、本文档共32页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
例:Grid布局管理器 f1 = Frame(root,width=100,height=100,bd=4,relief=groove) f1.grid(row=1,column=1,rowspan=2,sticky=N+S+W+E) Checkbutton(f1,text=PC).grid(row=1,sticky=W) Checkbutton(f1,text=Laptop).grid(row=2,sticky=W) f2 = Frame(root,width=100,height=50,bd=4,relief=groove) f2.grid(row=1,column=2,columnspan=2,sticky=N) b1 = Button(root,text=OK,width=6) b1.grid(row=2,column=2,sticky=E+W,padx=2) b2 = Button(root,text=Cancel,width=6) b2.grid(row=2,column=3,sticky=E+W,padx=2) Lu Chaojun, SJTU * Lu Chaojun, SJTU * Lu Chaojun, SJTU * End * * * * * Lu Chaojun, SJTU Lu Chaojun, SJTU 图形用户界面 Lu Chaojun, SJTU * Lu Chaojun, SJTU * * 程序的用户界面 程序中与用户进行交互的部分 用户通过UI向程序输入数据或者请求程序执行特定任务 程序通过UI向用户显示各种信息 UI应该是用户友好的 两类UI 命令行界面 图形界面(GUI) Lu Chaojun, SJTU * Lu Chaojun, SJTU * GUI构件 窗口Window 是容器:可以容纳其他构件的构件 程序有一个根窗口 标签Label 按钮Button 菜单Menu 框架Frame 也是容器 Lu Chaojun, SJTU Lu Chaojun, SJTU * Lu Chaojun, SJTU * 构件之间的关系 父子关系 在一个构件内创建另一个构件 界面上全体构件形成一个层次结构 顶层是根窗口 父构件内安排子构件:使用布局管理器 Lu Chaojun, SJTU Lu Chaojun, SJTU * Lu Chaojun, SJTU * 事件驱动 GUI程序的执行流程取决于与用户的实时交互 例如:Word程序的执行 事件驱动编程 普通程序的执行:启动——做事——终止 事件驱动程序的执行:启动——事件循环 等待事件发生,然后处理 程序的终止也是由特定事件(如关闭窗口事件)引起的 Lu Chaojun, SJTU Lu Chaojun, SJTU * Lu Chaojun, SJTU * 基本概念 事件:例如点击鼠标,按下键盘等. 事件处理程序:对事件进行处理的代码. 事件驱动编程:一种编程范型 程序有一个事件循环 事件监测 OS功能,由工具包提供支持 事件处理 应用程序员只需编写自己的事件处理程序 Lu Chaojun, SJTU Lu Chaojun, SJTU * Lu Chaojun, SJTU * GUI编程 需要GUI工具包 将低层细节对程序员隐藏 跨平台 Python标准库:Tkinter GUI编程 设计界面外观 为每个构件定义事件处理代码 建立启动初始化和总控部分 Lu Chaojun, SJTU Lu Chaojun, SJTU * Lu Chaojun, SJTU * * Tkinter的常用构件类 Button Canvas Checkbutton Entry Frame Label Listbox Menu Message Radiobutton Text Toplevel Lu Chaojun, SJTU * Lu Chaojun, SJTU * * 最简单的Tkinter程序 导入Tkinter 建立根窗口 进入事件循环 例:eg8_1.py from Tkinter import * root = Tk() root.mainloop() Lu Chaojun, SJTU * Lu Chaojun, SJTU * * 在窗口中添加构件 两步: 创建 布局 例:eg8_2.py from Tkinter import * root = Tk() aLabel = Label(root,text=Hello World) aLabel.pack() root.mainloop() Lu Chaojun, SJTU * Lu Chaojun, SJTU * * 在窗
您可能关注的文档
最近下载
- 北极介绍课件.pptx VIP
- 2022部编版小学六年级语文上册《书戴嵩画牛》说课课件(含教学反思).pptx VIP
- 彩钢屋顶防水涂料施工方案.docx
- 2024年贵州城市职业学院招聘笔试真题带答案详解.docx VIP
- 成人隐匿性自身免疫性糖尿病学习课件.pptx VIP
- 题型09 主观题之启示警示类-2024年中考《道德与法治》答题模板与技巧(解析版).docx VIP
- 6、建筑门窗五金配件产品质量检测报告(GD2106006).doc VIP
- [北京]电力电缆隧道工程施工组织设计(浅埋暗挖法).doc VIP
- 2024年人教版版九年级上册新教材深度解读【化学】.docx
- 沧州南皮县检察院聘用制书记员考试真题库2023 .docx VIP
文档评论(0)