管理复杂用户界面的5种方法

LabVIEW的一大优势就是可以轻松组合简单的用户界面

但是在某些时候,您的UI需求将超出静态控件布局所能完成的范围

也许用户界面已经超出了您可以合理地安装到单个前面板中的功能。也许您需要同一组控件的多个副本才能一次显示多个设备的测试结果。对于普通用户和主管,您可能需要不同的控件集,或者需要手动和自动模式

这篇文章介绍了用于驯服复杂用户界面的五种不同方法

显示和隐藏控件

通过将其Visible属性设置为False,可以隐藏前面板上的各个控件和指示器。这是在运行时更改UI的最简单方法

这种方法对于简单的用户界面效果很好,但是即使有很多控件,即使其中大部分都不可见,也可能变得笨拙。所有控件的端子都将在VI的代码图上,因此用于管理它们的所有代码也都将存在于该代码中。

自动模式

手动模式

子面板

子面板允许您在另一个VI的前面板上显示子VI的前面板上。这样做的好处是将用户界面各部分的代码分开,这有助于使主VI的框图保持整洁。

此外,如果重新输入子面板VI,则可以将其重新用于多个子面板–您只需要确保将数据与UI分开存储,但这仍然是一个好习惯

您将需要使用队列之类的东西来将数据传入和传出子VI,但同样,将UI与应用程序的核心部分分离也是一个好主意。

带有子面板的VI

选项卡

每个选项卡可以容纳一组完全不同的控件,并且还带有方便的标签。无需代码即可显示和隐藏每个页面的控件和指示器

它们具有与带有属性节点的简单显示/隐藏控件相似的问题,所有终端均位于其所属VI的框图中。您可以将选项卡与子面板结合使用以解决此问题

带有选项卡的VI

多视窗

如果您的应用程序具有不共享任何UI的不同模式,那么这可能是一个很好的解决方案。使用多个窗口可以完全分隔每组控件,您可以根据需要显示和隐藏窗口。

根据您应用程序的架构,窗口可能会通过队列或事件来回发送数据,或者可能存在一个隐藏的VI负责管理数据流

XControls

XControls允许您创建由其他标准LabVIEW控件组成的自定义UI元素。XControl带有一个标准控制终端,该终端使用您指定的任何类型,并且如果需要,还可以添加其他属性和方法。

从XControl首次放置在前面板上起,它实际上就在运行(或至少能够处理事件)。因此,它们可以处理编辑时事件,并且可以响应主机VI开始或停止执行来更改外观。

创建XControl后,它们的行为非常类似于本机控件。它们可以具有默认数据,该默认数据将保存在拥有的VI中,并在每次重新加载主机VI时重新加载

(0)

相关推荐