如何使用Matlab的应用程序布局设计

157 阅读6分钟

使用Matlab的应用程序布局设计

一个应用程序的布局由几个包含用户界面(UI)元素的组件组成。用户界面元素主要分为四类:输入控制元素、信息元素、导航组件和容器。

Matlab为使用Matlab函数以编程方式开发基于UI-figure的应用程序布局提供了一个互动环境。基于Uifigure的应用程序是使用旨在开发应用程序的用户界面数字设计的。

用户界面元素在应用程序中执行不同的功能。用户界面元素的行为和外观被添加为该元素的属性和功能。

前提条件

要继续学习本教程,您需要具备以下条件。

  • 安装了[MATLAB]。
  • 正确理解[MATLAB的基础知识]。

教学目的

在这篇文章中,我们将讨论基于UI-figure的应用程序的以下布局结构的设计。

  • 容器。
  • 组件。
  • 对话框和通知框。

容器

容器是将应用程序的组件放在一起的结构。Matlab中默认的用户界面容器是用函数uifigure

容器的标题是用语法fig=uifigure('Name','figure title'); ,而位置是用函数fig.position=[];

下面的代码片断演示了默认容器的创建。

fig = uifigure('Name','Broadsheet 1);  % container title
fig.position = [580 550 360 280]; %figure position

Container

UIfigure容器的类型

容器的类型包括。

  • 面板容器。
  • 标签组容器。

面板容器

面板容器用于将用户界面组件组合在一起。面板容器是用函数uipanel();

面板容器的属性是用函数uipanel(Name, value); 来指定的。该值使用一个或多个参数来定义。

函数parent 在指定的父容器中创建一个面板。父容器属性的语法如下所示。

panel=uipanel(parent,Name,value);`

下面的代码片段显示了创建一个包含两个面板和一个按钮的图。主面板被标记为 "面板1",子面板被标记为 "面板2",按钮被标记为 "开始"。

fig = figure; % Main container
%Main panel properties
main_panel = uipanel('Title','Panel 1','FontSize',15,...
             'BackgroundColor','red',...
             'Position',[.25 .1 .67 .67]);
% sub panel properties
sub_panel = uipanel('Parent',main_panel,'Title','panel 2', 'FontSize',12,...
              'Position',[.4 .1 .5 .5]);
% button properties
c = uicontrol('Parent',sub_panel,'String','Start',...
              'Position',[18 18 72 36]);

Panel container

标签组容器

一个标签组容器是用函数uitabgroup() 。它允许在不同的标签中进行识别和导航。

标签组容器的属性是使用语法uitabgroup(Name,value) 。指定父容器的语法是uitabgroup(Parent,Name,value)

为了演示,我们将创建一个有两个标签的标签组。第一个标签的标题是 "工具",第二个标签的标题是 "视图"。

fig = figure;
tab_group = uitabgroup(fig,'Position',[.07 .05 .3 .8]); % tab group position in the main container
tab1 = uitab(tab_group,'Title','Tools'); % first tab properties
tab2=uitab(tab_group,'Title','View'); %second tab properties

Tab group containing two tabs

标签组也可以包含其他用于选项选择和输入控制的组件。像下拉按钮这样的组件是用函数uidropdown(); ,而复选框是用函数uicheckbox();

下面的代码片断显示了如何设计标签组容器,容纳具有指定属性的组件。例如,主标签的标题是 "成员性别",下拉按钮将包含两个选项:"男性 "和 "女性",而按钮将被标记为 "Enter"。

fig = uifigure; % main container
tab_group = uitabgroup(fig,'Position',[50 50 196 145]); % tab group properties
t = uitab(tab_group,'Title','Member gender'); % main tab properties
drop_down = uidropdown(t,'Position',[11 90 140 22],'Items',{'Male','Female'}); % drop down button properties
cb = uicheckbox(t,'Position',[11 65 140 22],'Text','Member'); %check box properties
b = uibutton(t,'Position',[11 40 140 22],'Text','Enter'); % button properties

Tab containing components

组件

应用程序中的组件使用户能够执行以下操作。

  • 在应用程序中导航。
  • 为应用程序提供信息。
  • 与用户分享信息。

我们将讨论以下应用程序组件的创建。

  • 按钮。
  • 复选框。
  • 下拉式。

按钮

按钮是用函数uibutton(); 来创建的。一个按钮上可以有一个文本或图标。

使用下面的代码片断可以创建一个简单的按钮布局。

f = uifigure % main figure
b = uibutton(f);

Simple button

按钮的属性是使用语法uibutton(fig,'properties'); 来添加的。这些属性包括按钮的位置和信息内容。

例如,我们将设计一个状态按钮,在[100,50,30,100]的位置显示按摩 "复位"。

f=uifigure % Main container
btn = uibutton(f,'state','Text','Reset','Value',true,'Position',[60,110,110,25]); % button properties

State button

按钮的主要类型是单选和切换。单选按钮是用函数uiradiobutton() ,而切换按钮是用函数uitogglebutton();

复选框

复选框允许用户在应用程序中选择或取消选择项目。被选中的项目会用"√"或 "破折号 "来标记。

在Matlab中,使用函数uicheckbox() 来创建一个复选框。复选框的名称和位置可以通过语法uicheckbox('Name', 'value'); 来添加。

下面的代码片断演示了复选框的创建过程。当复选框被点击时,它将被自动选中。

f = uifigure; % main container
check_box = uicheckbox(f); % checkbox function

Unmarked check box

Marked check box

下拉式

下拉式提供了一个特定动作的选项列表。函数uidropdown(); 被用来创建一个下拉菜单。使用语法uidropdown(figure, 'value'); ,可以添加下拉的可见属性。

f = uifigure;% main container
drop_down = uidropdown(f,'Items',{'Road','Air','Water','Pipeline','Railway'},'Value','Road'); % drop down properties

Drop down items

对话框和通知

对话框和通知元素使应用程序能够向用户传达警告、警报、特定活动的进展或指示。

对话框和通知元素通常伴随着特定的标志信息的图标。我们将讨论以下对话和通知元素的布局设计。

  • 警告对话框。
  • 确认对话框。

警报对话框

提醒对话框是用来通知应用程序用户需要注意的信息的。它是用函数uialert() 来创建的。下面的代码片段显示了带有按摩 "不支持的格式 "的警报对话框布局的设计。

f = uifigure; % main container
uialert(f,'Unsupported format','invalid file'); % alert box  messages

Alert dialog box

下面的代码片断显示了如何使用警报对话框进行警告。

fig = uifigure; % main container
message = {'Too loud!','Consider reducing the volume.'}; % message to display
uialert(fig,message,'Warning',...
'Icon','warning'); % alert box properties

Warning dialog box

确认对话框

使用函数uiconfirm ,创建一个确认对话框。它使用户能够指示应用程序处理某些活动。该指令从应用程序提供的选项中选择。

一个确认对话框可以有一个或多个选项可供选择。

我们将创建一个确认框,标题为 "退出",并显示 "你是否要保存这个文件"。可用的选项将是'保存,不保存,和取消''。下面的代码显示了这个过程。

fig = uifigure; %main containerx
msg = 'Do you want to save this file.'; % confirmation dialog box massage
title ='Quit'; % box title
selections= uiconfirm(fig,msg,title, ...
           'Options',{'save','do not save','Cancel'}, ...
           'DefaultOption',2,'CancelOption',3); % options available for selection

Confirmation dialog box

结论

应用程序布局设计用于设计移动应用程序或网站。此外,应用程序在通信、数据存储和娱乐方面都有帮助。这篇文章展示了Matlab是如何提供一个交互式的环境来使用Matlab函数设计应用程序布局的。