《计算思维导论:程序设计思想与方法》——第8章:图形用户界面

8.1 图形用户界面概述
8.1.1 程序的用户界面
  1. 程序设计领域,一个程序的用户界面指的是程序中与用户进行交互的部分,用户通过UI向程序输入数据或者请求程序执行特定任务,而程序通过UI向用户显示各种信息。
  2. GUI能够大大增强程序的用户友好性,提高用户使用计算机的效率,因此是设计中的重要技术。
8.1.2 图形界面的组成
  1. 图形界面由多种图形元素组成,这些图形元素称为构件(widget)。
  2. 像窗口这样的能够容纳其他构件的构件,一般称为容器。
  3. GUI工具包一般提供布局管理器用于布局设计。
8.1.3 事件驱动
  1. 事件是针对应用程序所发生的事情,并且应用程序需要对这种事情作出响应。
  2. 程序对事件的响应其实就是调用预先编制好的代码来对事件进行处理,这种代码称为事件处理程序(event handler)。
  3. 事件驱动编程就是针对“程序的执行由事件决定”的应用的一种编程范型。
  4. 事件驱动的程序一般都有一个主循环或称事件循环,该循环不停地做两件事:事件监测和事件处理。
8.2 GUI编程
8.2.1 GUI编程概述
  1. GUI编程一般需要如下几个步骤:
  • 设计界面外观
  • 为每个构件定义事件处理程序
  • 编写应用程序地启动和总控部分。
  1. GUI工具包一般都利用面向对象技术实现的,即构件都是对象,具有属性和方法。构件对象的属性用来记录构件的各种数据特性,构件对象的方法实现构件的行为特性。
8.2.2 初识Tkinter
  • 构件对象属性
  • 根窗口的标题和大小
  • 父构件与子构件
8.2.3 常见GUI构件的用法
  • 标签
    标签用于在窗口中显示文本信息,Tkinter定义了类Label来支持标签构件的创建。
  • 按钮
    按钮也叫命令按钮,是界面中的一个矩形区域(通常长度大于高度),矩形内部是描述性的标题。
  • 勾选钮
    勾选钮也称为勾选框和复选框,用于向用户提供一个选项,用户对该选项有“选中”或“不选”两种选择。
  • 单选框
    单选框也是列出选项供用户选择,并且通常也是由若干个单选钮构成一组来提供多个相关的选项。
  • 文本编辑区
    文本编辑区是允许用户输入和编辑数据的区域,用户使用键盘在这个区域中输入文本,输入过程中随时可以进行编辑。
  • 框架
    框架是一种容器,其主要用途是将一组相关的基本构件组合成为一个“复合”构件。
  • 菜单
    菜单构件是一个由许多菜单项组成的列表,每个菜单项表示一条命令或一个选项。
  • 顶层窗口
    顶层窗口跟根窗口一样,可以独立地移动和改变大小,并且不需要像其他构件那样必须在根窗口中进行布局后才显示。
8.2.4 布局
  1. 布局指的是界面元素在界面中的位置安排。
  • Pack布局管理器
    Pack布局管理器以紧凑的方式将构件在窗口中“打包”,调用构件的pack方法既可以在这种方式布局。
  • Grid布局管理器
    Grid布局管理器将窗口或框架视为一个由行和列构成的二维表格,并将构件放入行列交叉处的单元格中。
  • Place布局管理器
    Place布局管理器直接指定构件在父构件中的位置坐标。
  • 对话框
    对话框是独立的顶层窗口,通常是在程序执行过程中根据需要而“弹出”的窗口,用于从用户获取输入或者向用户显示消息。
    对话框分为两种类型:模态和非模态对话框。模态对话框在关闭之前阻止程序其他窗口的操作,而非模态对话框则不会阻止程序其他窗口的操作。
8.3 Tkinter事件驱动编程
8.3.1 事件和事件对象
  1. 事件是针对应用程序所发生的事情,并且需要应用程序对它做出响应或进行处理。
  2. Tkinter事件可以用特定形式的字符串来描述,称为事件模式。事件模式的一般形式是:
    <modifier-type-detail>
    其中类型符type指定事件类型,最常用的类型有分别鼠标事件和键盘事件的Button和Key;修饰符modifier用于描述鼠标键或键盘的双击、组合等情况;细节符detail指定具体的鼠标键或键盘按键,如鼠标的左中右三个键分别用1、2、3表示,键盘按键用相应字符或按键名称表示。modifier和detail是可选的,而且事件模式经常可以使用简化形式。
8.3.2 事件处理
  1. GUI应用程序的核心是对各种交互事件的处理程序。应用程序一般在完成建立图形界面等初始化工作后都会进入一个事件循环,等待事件发生并触发相应的事件处理程序。
  • 键盘事件与焦点
  • 绑定到多个事件
  • 绑定层次
  • 协议处理
  • 虚拟事件
8.4 模型-视图设计方法
8.4.1 将GUI应用程序封装成对象
8.4.2 模型与视图
  1. 复杂应用程序经常可以分解成两个部分:核心逻辑和用户界面。
    在这里插入图片描述
8.4.3 编程案例:汇率换算器
  • 程序规格
  • 明确候选对象
  • 实现模型
  • 基于文本的用户界面
  • 实现GUI
8.5 练习

书籍下载地址:https://download.csdn.net/download/qq_37590544/10959608

猜你喜欢

转载自blog.csdn.net/qq_37590544/article/details/87827636