admin 管理员组

文章数量: 887007

好久不见,大家好!今天我们就来盘点一下MATLAB中设计GUI/APP时用到的布局管理工具。

一. GUI Layout Toolbox

通常在构建GUI时,需要精确的设计每一个控件摆放的位置,这样做出来的界面整齐、友好。MATLAB利用guide框架设计GUI中,除了用辅助工具(guide)外,如果用纯m语言构建GUI时,只能通过绝对位置布局,即通过设定控件的Position属性指定其位于容器中的位置。绝对位置布局的优点是使用方式简单,可以搭配任何布局,UI控件都是绝对的位置,但缺点是对复杂界面不够灵活、不能保证流畅度。

除了绝对布局外,另一种就是相对布局了,相对布局的特点是适合构建复杂的界面,非常灵活,可能的缺点是适配问题。原生态的guide框架设计GUI中并没用提供绝对布局的功能,然而我们在附加功能中可以找到GUI Layout Toolbox这个牛逼的?工具箱,然后一键安装,再help一下就可以玩了。

  • 下面主要介绍GUI Layout Toolbox的使用

该工具箱主要提供了两个包uixuiextras,在构建GUI布局时,这两个包本身没什么区别,通常使用uiextras包就足够了,uixuiextras更底层一些,包含的布局更广泛一些。

uix包的主要内容有:

类/包 说明
Box 带有间隔的容器和网格基类,一般很少用,如果要扩展布局管理器时,需要用到。我们一般用到的是派生类HBox,VBox,HBoxFlex,VBoxFlex。
ButtonBox 按钮类布局的Box基类,同样可以扩展,一般不常用。一般常用的是HButtonBox和VButtonBox这两个类。
HButtonBox 水平按钮布局,从左向右依次排列添加的按钮组件,如下图所示

VButtonBox 竖直按钮布局,从上向下依次排列添加的按钮组件,如下图所示

HBox 水平布局,从左向右依次摆放UI控件。常用的属性有Padding(相对于父容器的距离,通过一个标量值设定)和Spacing(每个控件间的距离),Widths设置比例。效果如下图所示:

HBoxFlex 能灵活缩放的水平布局,从左向右依次摆放UI控件。用法和HBox相似。
VBox 竖直Box布局,从上向下依次摆放UI控件。用法和HBox相似。这里用Heights设置比例,效果如下图所示:

VBoxFlex 能灵活缩放的竖直布局,从上向下依次摆放UI控件。用法和VBox相似。
Grid 网格布局,这个通常与水平布局、竖直布局搭配起来构建更复杂的GUI布局。通过两个主要属性HeightsWidths来设置网格有多少行和列以及对应的比例,效果如下图所示:

GridFlex 能灵活缩放的网格布局,用法和Grid一样。
Empty 空布局,只是一个占位而已,不放任何控件,也是很常用的。
Panel uix包中标准的面板布局,与uipanel一致的。
BoxPanel Box面板布局,主要属性有:Title,BackgroundColor,BorderType,BorderWidth等。BoxPanel在figure画布中显示如下图所示,标题的背景是一个蓝色的长条,扩展了uipanel。当然,标题字体的颜色以及背景颜色都是可以修改的

本文标签: 管理器 初始化 利器 布局 字体