MATLAB 图形用户界面

17 Mar 2025 | 6 分钟阅读

图形用户界面 (GUI) 是程序的视觉界面。一个好的 GUI 可以通过提供一致的外观和直观的控件(例如按钮、编辑框、列表框、滑块和菜单)来使应用程序更易于使用。

图形用户界面如何工作?

图形用户界面为客户端提供了一个熟悉的工作环境。它包含按钮、切换按钮、列表、菜单、文本框等。对于程序员来说,GUI 更加困难,因为基于 GUI 的应用程序必须随时准备好处理任何 GUI 项目的鼠标点击(或可能的键盘输入)。此类数据被称为事件,响应事件的程序被称为事件驱动程序。

创建 MATLAB 图形用户界面所需的三个主要组成部分是

组成部分

MATLAB GUI 上的每个元素(按钮、标签、编辑框等)都是一个图形组件。组件的方法包括图形控件(按钮、切换按钮、编辑框、文件、滑块等)、静态组件(文本框)、菜单、工具栏和坐标轴。函数 uicontrol 创建图形控件和文本框,菜单由函数 uimenu 和 uicontextmenu 创建。工具栏由函数 uitoolbar 组织。用于显示图形数据的坐标轴由函数 axes 创建。

容器

GUI 的组件必须组织在容器内,该容器是计算机屏幕上的一个窗口。最常见的容器是图形。图形是笔记本电脑屏幕上的一个窗口,在顶部有一个标题栏,并且可以选择连接菜单。过去,每当我们绘制数据时,都会自动创建图片。

可以使用函数 figure 生成空的图形,它们可以用于影响组件和其他容器的任何组合。不同类型的容器是面板(由函数 uipanel 创建)和按钮组(由函数 uibuttongroup 创建)。面板可以包含组件或其他容器,但它们没有标题栏,也不能连接菜单。按钮组是特殊的面板,可以处理单选按钮或切换按钮组,以确保组中没有多个按钮同时处于开启状态。

回调

最后,必须有一些方法可以对用户单击鼠标上的按钮或在键盘上键入信息做出反应。鼠标单击或按键是一个事件,如果程序要执行其功能,MATLAB 程序必须响应每个事件。例如,如果用户单击一个按钮,那么该事件必须导致执行实现按钮角色的 MATLAB 代码。响应事件执行的代码称为回调。必须有一个回调来实现 GUI 上每个图形元素的作用。

GUI 的组件

组件创建人描述
容器
Figure图形它创建一个图形,它是一个可以容纳组件和其他容器的容器。图形是具有标题栏且可以具有菜单的独立窗口。
Paneluipanel它创建一个面板,它是一个可以容纳组件和其他容器的容器。与图像不同,面板没有标题栏或菜单。面板可以放置在图片或其他面板内。
按钮组uibuttongroup它创建一个按钮组,这是一种特殊的面板。按钮组会自动处理单选按钮或切换按钮组,以确保组中只有一个组件在任何给定时间处于开启状态。
图形控件
按钮uicontrol实现按钮的图形元素。当用鼠标单击时,它会触发回调。
切换按钮uicontrol执行切换按钮的图形组件。切换按钮要么“开启”,要么“关闭”,并且每次单击时都会更改状态。每次鼠标点击也会触发回调。
Radio Buttonuicontrol单选按钮是一种切换按钮,当它“开启”时,它表现为一个中间带有一个点的圆圈。单选按钮组用于执行互斥选择。每次单击单选按钮都会触发回调。
Checkboxuicontrol复选框是一种切换按钮,当它“开启”时,它表现为一个带有复选标记的小方框。每次单击复选框都会触发回调。
编辑框uicontrol编辑框显示文本字符串,并允许用户修改提供的信息。当用户按下 Enter 键或用户用鼠标单击不同的对象时,会触发回调。
列表框uicontrol列表框是一个图形控件,它显示一系列文本字符串。客户可以通过单击或双击它们来选择其中一个文本字符串。当客户选择一个字符串时,会触发回调。
弹出菜单uicontrol弹出菜单是一个图形控件,它响应鼠标单击显示一系列文本字符串。当未单击弹出菜单时,仅当前选定的字符串是清晰的。
Slider (滑块)uicontrol滑块是一个图形控件,用于通过用鼠标拖动控件来以平滑、规则的方式调整值。每个滑块修改都会触发回调。
Frameuicontrol它创建一个框架,它是一个图形内的一个矩形框。框架用于将一组控件关联在一起。框架从不触发回调。
文本字段uicontrol 创建一个标签,它是一个位于图形上的文本字符串。文本字段从不触发回调。
菜单、工具栏、坐标轴
菜单项uimenu它创建一个菜单项。当鼠标按钮在其上释放时,菜单项会触发回调
上下文菜单uicontextmenu它创建一个上下文菜单,当用户在图形对象上单击鼠标右键时,该菜单会显示在该对象上。
工具栏uitoolbar它创建一个工具栏,工具栏是图形顶部的一条栏,其中包含快速访问按钮。
工具栏uipushtool它创建一个按钮,用于放入工具栏。
工具栏切换uitoggletool它创建一个切换按钮,用于放入工具栏。
坐标轴坐标轴它创建一组新的坐标轴以显示数据。坐标轴从不触发回调。

示例

将一个简单的计算器实现为 GUI(图形用户界面)。

输出

MATLAB Graphical User Interface
MATLAB Graphical User Interface
MATLAB Graphical User Interface
MATLAB Graphical User Interface
MATLAB Graphical User Interface
MATLAB Graphical User Interface
下一个主题MATLAB 编程环境