我有大量的SubVI(大约50个),包括一些特定于用法的代码,还有少量的GUI元素(大多数约为2:输入和输出)。
我的目标是重用这些VI,而不会在新的(“主”)VI中造成严重混乱,并在用户最终将要与之交互的GUI公用窗格上收集所有GUI元素。
我尝试像示例中一样使用Open VI Function
,'VI Reference'和'Run SubVi'创建子面板的引用,但是子面板ui仅在程序运行时显示,其他数量块通常比各自的SubVI中的代码大。
子VI只能加载一次以构建主用户界面。
另外:在this教程中,他们创建一个子VI并重新创建该子VI中已定义的GUI元素。 我认为这就像传递参数一样,就像在基于文本的编程语言(如代码片段)中一样:
def main_vi(x, y, z): # inputs x, y, z
s = sub_vi(x, y, z)
return s # output s
这是必需的,还是subvi的GUI控件可以直接从外部重用 ?
是否可以在包含所有内容的“主” VI中使用子VI,并使用选项卡将所有内容映射到通用UI?
还是将所有内容复制到主VI更好,即根本没有代码重用?
谢谢!
答案 0 :(得分:0)
取决于您要使用的功能,您可能希望查看XControls。这将使您可以将功能封装到可重用的控件中,该控件可在主面板上使用,而不会使主面板变得很混乱。
答案 1 :(得分:0)
大型UI可能会让人很痛苦(无意中使用了窗格),尤其是在有很多控件和指示符的情况下。有一些有用的方法可以将UI分解为模块化组件。 XControls就是其中之一,但由于其不可预测的行为,我不推荐它们。而是考虑使用子面板。一家名为Moore Good Ideas(或MGI)的公司提供了一个很好的工具包。 More info can be found on their website here.
XControls还有一个更好的替代方法,称为QControls。 More info on them can be found here.
但是,一般而言,您可能希望研究一个更具模块化的框架。 More info on Frameworks can be found here.