图形用户界面

图形用户界面（Graphical User Interface，缩写：GUI）是指采用图形方式显示的计算机操作用户界面。与早期计算机使用的命令行界面相比，除了降低使用者的操作负担之外，对于新使用者而言，图形界面对于用户来说在视觉上更易于接受，学习成本大幅下降，也让电脑的大众化得以实现。

虽然图形用户界面已经成为现代电脑的主要界面，然而这界面必定要透过在显示器的特定位置，以“各种美观、而不单调的视觉讯息”提示使用者“状态的改变”，势必得比简单的文字讯息呈现，花上更多的电脑运算能力，计算“要改变显示器哪些光点，变成哪些颜色”，功能命令的设计也比较复杂，现代操作系统的图形复杂程度更远超早期的GUI。

## 历史变迁

- 1950年代SAGE Project（美国空军防空系统）和Ivan Sutherland提出，其于1963年开发的 Sketchpad 软件为现在电脑辅助设计（CAD）的先驱。
- 1968年，道格拉斯·恩格尔巴特在 SRI（Stenford Research Institute）开发 OLS 在线系统，并在ACM/IEEE会议上展示了所有演示之母，首次导入鼠标作为互动界面。
- 1970年，部分 SRI 的研究人员进入施乐公司参与开发地球上第一个 WIMP 系统（视窗、图标、选单和指针/下拉式选单），希望打造孩子也能轻松使用的系统。
- 1973年第一个可视化操作的电脑在施乐帕洛阿尔托研究中心（Xerox PARC）完成。该产品名为Alto，但当时GUI是面向计算工作站开发的，用在文书处理还是新概念，Alto虽然没有贩售，但取得的研发经验众多，是第一个把计算机所有元素所见即所得结合到一起的图形界面操作系统。它使用3键鼠标、位运算显示器、图形窗口、以太网络连接。
- 1980年Three Rivers公司推出Perq图形工作站，图形用户界面（GUI）开始进入厂商视野中，不过此时电脑性能有限，能搭载GUI的产品主要是工作站等级的电脑，一般大众很难接触到。
- 1981年施乐公司意识到后，才推出了Alto的继承者Star，曾首次使用了窗口设计。这部电脑仍为了工作站使用。
- 1983年苹果电脑公司推出Apple Lisa个人电脑，是全球第一款搭载图形界面的个人电脑，但没有取得商业上的成功。
- 1984年苹果电脑公司推出Macintosh，这次GUI造成了首次风行。
- 1985年微软公司发布了Windows 1.0，该图形界面基于MS-DOS运行，是微软自家的首个窗口系统图形界面。
- 1986年首款用于Unix的窗口系统X Window System发布。
- 1988年IBM发布OS/2 1.10标准版演示管理器（Presentation Manager），这是第一种支持Intel计算机的稳定的图形界面。
- 1992年微软公司发布Windows 3.1，增加了多媒体支持。
- 1995年微软的Windows 95发布，其视窗操作系统的外观基本定型。
- 1996年微软发布Microsoft Bob，此软件具有动画助手和有趣的图片。
- 1996年IBM发布OS/2 Warp 4，它的交互界面得到显著改善，至今仍有不少ATM运行这样的系统。
- 1997年KDE和GNOME两大开源桌面项目启动。
- 1997年苹果电脑公司发布Mac OS 8，这个系统具有三维外观并提供了SpringLoaded Folder功能。
- 2000年苹果电脑公司推出Mac OS X系统的默认外观Aqua。
- 2001年微软发布Windows XP，实现了主题支持。
- 2003年Mac OS X v10.3提供了一键单击访问任何已打开窗口的功能。
- 2003年Sun公司的Java桌面系统为GNOME桌面添加了和Mac类似的效果。
- 2006年微软发布Windows Vista，对此前其视窗操作系统的外观作了较大的修改，实现了Windows Aero功能。

## 概要

在图形用户界面中，计算机画面上显示窗口、图标、按钮等图形，表示不同目的之动作，用户通过鼠标等指针设备进行选择。

### 组成

<image>

桌面：在启动时显示，也是界面中最底层，有时也指代包括窗口、文件浏览器在内的“桌面环境”。在桌面上由于可以重叠显示窗口，因此可以实现多任务化。一般的界面中，桌面上放有各种应用程序和数据的图标，用户可以依此开始工作。桌面与既存的文件夹构成理念相违背，所以要以特殊位置的文件夹的参照形式来定义内容。比如在微软公司的Windows XP系统中，各种用户的桌面内容实际保存在`系统盘（默认为C盘）:\Documents and Settings\[用户名]\桌面`文件夹内。

墙纸，即桌面背景。可以设置为各种图片和各种附件，成为视觉美观的重要因素之一

视窗：应用程序为使用数据而在图形用户界面中设置的基本单元。应用程序和数据在窗口内实现一体化。在窗口中，用户可以在窗口中操作应用程序，进行数据的管理、生成和编辑。通常在窗口四周设有菜单、图标，数据放在中央。

在窗口中，根据各种数据/应用程序的内容设有标题栏，一般放在窗口的最上方，并在其中设有最大化、最小化（隐藏窗口，并非消除数据）、最前面、缩进（仅显示标题栏）等动作按钮，可以简单地对窗口进行操作。

- 单一文件界面（Single Document Interface）
- 在窗口中，一个数据在一个窗口内完成的方式。在这种情况下，数据和显示窗口的数量是一样的。若要在其他应用程序的窗口使用数据，将相应生成新的窗口。因此窗口数量多，管理复杂。
- 多文件界面（Multiple Document Interface）
- 在一个窗口之内进行多个数据管理的方式。这种情况下，窗口的管理简单化，但是操作变为双重管理。
- 标签
- 多文件界面的数据管理方式中使用的一种界面，将数据的标题在窗口中并排，通过选择标签标题显示必要的数据，这样使得接入数据方式变得更为便捷。

选单：将系统可以执行的命令以阶层的方式显示出来的一个界面。一般置于画面的最上方或者最下方，应用程序能使用的所有命令几乎全部都能放入。重要程度一般是从左到右，越往右重要度越低。命定的层次根据应用程序的不同而不同，一般重视文件的操作、编辑功能，因此放在最左边，然后往右有各种设置等操作，最右边往往设有帮助。一般使用鼠标的第一按钮进行操作。

- 环境选单（又称功能表、上下文菜单（Context Menu））
- 与应用程序准备好的层次菜单不同，在菜单栏以外的地方，通过鼠标的第二按钮调出的菜单称为“即时菜单”。根据调出位置的不同，菜单内容即时变化，列出所指示的对象目前可以进行的操作。

图标：显示在管理数据的应用程序中的数据，或者显示应用程序本身。

数据管理程序，即在文件夹中用户数据的管理、进行特定数据管理的程序的情况下，数据通过图标显示出来。通常情况下显示的是数据的内容或者与数据相关联的应用程序的图案。另外，点击数据的图标，一般可以直接完成启动相关应用程序以后再显示数据本身这两个步骤的工作。

应用程序的图标只能用于启动应用程序。

按钮：菜单中，利用程度高的命令用图形表示出来，配置在应用程序中，成为按钮。

应用程序中的按钮，通常可以代替菜单。一些使用程度高的命令，不必通过菜单一层层翻动才能调出，极大提高了工作效率。但是，各种用户使用的命令频率是不一样的，因此这种配置一般都是可以由用户自定义编辑。

### 其他

回收站：为了实现文件删除的“假安全”功能而设置了“回收站”（垃圾桶）功能。在文件删除的时候，暂时将其移动到系统特定的地方，一旦用户发现删除错误，还可以将其找回，从而实现防止错误删除的目的。在麦金塔系统中，垃圾桶不仅可以删除文件，还可以进行各种各样对象的删除功能，如将移动硬盘从系统中移出，将光盘从光驱中取出等等。

应用程序启动器：从图形界面上启动应用程序有很多方式，有好几种操作系统都采用菜单形式的程序启动器。NEXTSTEP和Mac OS X中有一种称为dock的操作面板型的工具，可以存放各种文件和应用程序的信息，并通过鼠标点击调出。

### 图形用户界面的工作管理

在图形用户界面中，用户操作是以窗口为单位的。除了MDI和Mac OS以外，大多都是“窗口数量=工作数量”。因此在看整体界面的时候，怎样进行工作管理是很重要的。Windows等操作系统中，最常用的方式是在桌面上设置一个棒状的“任务栏”，放置各种窗口的图标和标题，确保系统的可操作性和可视性，方便对窗口进行管理。其他的方法包括，在桌面上的菜单中添加各个窗口管理菜单，在桌面上显示任务的图标，用虚拟桌面的方式表面增加桌面的数量等等。在Mac OS X系统中使用Dock进行任务管理，但是还有Exposé进行窗口一览显示模式的功能。

### 指针设备的操作

图形用户界面的基本操作是，用指针设备（一般是鼠标）进行指示操作，然后使用设备上的按钮（通常为两到三个）进行动作的激活。因此“位置”和“指示”都非常明了，从而实现可视操作。

指示的内容根据位置而不同。在数据管理应用程序中，第一按钮进行指针所在位置数据的选择，而两次连续按钮（所谓“双击”）可以调出预制的应用程序开始处理数据。

第二按钮通常用来显示即时菜单。第二按钮调出的菜单可以再用第一按钮进行选择打操作。第三按钮在X Window System中比较常用。

另外，最近四键、五键鼠标相继问世，各个按钮可以在操作系统中进行动作定义。

### 图形用户界面与键盘

和命令用户界面一样，键盘在图形用户界面仍是一个重要的设备。键盘不仅可以输入数据的内容，而且可以通过各种预先设置的“快捷键”等键盘组合进行命令操作达到和菜单操作一样的效果，并极大提高工作效率。

### 图形用户界面与各种设备

除了上述的设备以外，手写板等操作，特别是在图像数据操作中也扮演重要的角色。

### 触摸屏图形用户界面

现在还有很多一些用户界面，直接用手指、或者特殊的笔端触摸触摸屏上显示的按钮、图标进行各种操作，已经非常普及，如自动取款机，汽车导航、媒体播放器、游戏机等等，一般操作简捷，直观。苹果公司的iPhone手机还有装有支持多点触控的操作系统。

## 采用图形用户界面的操作系统/应用程序

<image>

- Smalltalk
- MacOS
- NEXTSTEP
- Microsoft Windows
- X Window System（类Unix OS、Linux）
- BTRON
- TownsOS
- MSX-View
- SX-Window
- BeOS
- Newton OS
- Zaurus OS
- Palm OS
- iOS
- Android
- Firefox OS
- Pig OS
- HarmonyOS