本周文件交换精选

我们最好的用户提交

GUI布局工具箱

理查德本周的选择是GUI布局工具箱通过大卫·桑普森本Tordoff

内容

选择

我这周选的是GUI布局工具箱用于创建复杂的MATLAB应用程序,优雅地调整大小。你曾经用MATLAB创建过一个应用程序吗?您是否使用GUIDE创建应用程序或使用uicontrol编写自己的应用程序?如果是这样,那么你可能会遇到在应用程序中放置各种按钮、复选框和轴,并适当调整它们的大小等问题。在所有这些工作之后,你是否需要调整应用的大小,却发现它不能正确缩放?按钮变得更大,使应用程序看起来很奇怪或没有缩放,你最终得到一个更大的应用程序与一堆空白?GUI Layout Toolbox通过提供一组类来解决这些问题:
  • 横向排列MATLAB用户界面组件,垂直地或以栅格
  • 能够混合固定大小和可变大小的元素
  • 通过拖动分隔符动态调整元素大小
  • 使用面板和选项卡切换界面页面
工具箱已重新设计,以使用在R2014b版本中引入的新图形系统,并已为R2015b版本进行了更新。一个更早的版本工具箱的R2014a和更早的版本可用,并被选为Pick-of-the-Week2010年6月工具箱包含了一组类,可以很容易地创建一个自定义应用程序,将适当扩大 - 允许图轴增长/与App收缩,同时保持按钮的大小,使的整体外观应用程序是一致的。一旦你已经下载并安装工具箱(“GUI布局工具箱2.2.mltbx”文件),您可以访问MATLAB文档中的广泛的帮助。帮助有展示的工具的功能的例子不胜枚举。其中一个独特的功能,我在工具箱中找到的是创建作为水平或垂直盒容器对象如的能力。这允许你指定如何在容器内uicontrols进行缩放。举个例子,你可以创建一个包含两个项目的垂直箱集装箱:对于地块的轴和水平箱集装箱。则水平盒容器可以包含两个按钮。您可以指定按钮的大小。如果您缩放应用程序,你会看到,轴长/与App萎缩,但按键保持它们的大小。 This eliminates the need for the user to create complex custom resize functions - making App creation faster and more dynamic.

例子

让我们展示上面定义的例子,在这个例子中,我们希望有一个带有绘图轴和两个按钮的应用程序。
图(f ='位置',200个*也是(1,4));VBOX = uix.VBox(“父”f);轴(“父”vbox);hbox = uix。HButtonBox (“父”vbox,'填充'5);uicontrol (“父”,横向盒,...“字符串”“按钮1”);uicontrol (“父”,横向盒,...“字符串””按钮2》);集(vbox,“高地”, [-1 35])
运行在上面的应用程序的代码的结果。在上面的代码中,我们使用的UIX类的垂直框方法来创建我们垂直框容器,其具有图中(F)是其父母。然后,我们创建一个垂直的盒子容器作为父的轴对象。接下来,我们一hozizontal按钮盒增加了垂直框容器。最后,我们添加两个按钮水平按钮盒容器。水平按钮盒容器是水平盒容器的专用版本。它被用来安排按钮,检查框或类似的图形元件的行。所有按钮分配相等的大小,默认情况下在绘图区域为中心。我们可以使用一个水平盒容器,但我们还需要一些额外的代码来指定按钮的大小和位置。默认情况下,水平按钮盒中心的按钮。 And finally, we set the height of the two items in the vertical container box. In this case, we specify "-1" for the axes which stipulates that the size is variable and will scale to fit the region. For the second item, the horizontal button box, we specify that it has a height of 35 pixels. This maintains the buttons to be located at the bottom of the App. To demonstrate how this works with scaling, the image below shows three instances of the same App. Figure 1 is the original App as shown above. Figure 2 is the App enlarged horizontally and Figure 3 is the App enlarged vertically. As you can see in each case, the size and placement of the buttons remains the same while the axes is scaled to the specified size.在上面的例子中,我们为这个简单的应用程序使用了两个盒子。工具箱中其他可用的容器是面板(包括制表符)和网格。这些容器允许开发人员创建高度定制和复杂的应用程序来支持他们的应用程序。金宝app

使用GUI布局工具箱的应用程序

GUI布局工具箱已经用于许多MATLAB中央文件交换条目。这些包括:和许多其他人。您可以仔细阅读其中的一些例子,以看到各种应用程序开发与GUI布局工具箱。

注释

感谢David和Ben创建并更新了一个很棒的工具,增强了MATLAB的功能。试试吧,让我们知道你的想法这里或者离开评论大卫和Ben。

发布与MATLAB®R2015b

|
  • 打印
  • 发送电子邮件

注释

要留下评论,请点击这里登录到您的MathWorks帐户或创建一个新帐户。