Labview-DQMH框架学习3--运用子面板技术(1)

概要

Labvewi_DQMH_浅析
Labvewi_DQMH_模板的运用
基于前两期内容的实操后,对DQMH框架有了一个初步的认知。在Module之间通过Request事件和Broadcast事件传递信息,并借助模板相对简便的实现多个Module的创建;随之而来的一个新问题:每个Module都有自己的界面窗口,在一个项目中可能会打开多个窗口去实现相关功能,这样看起来不是很有条理;因此需要建立一个UI界面,借助其内部的子面板,更加有序和工整的将所需界面进行展示。
本文主要介绍如何在DQMH框架下运用子面板(Subpanel)技术。此方法源于相DQMH关视频教程,是在常规子面板技术(本文不赘述)基础上,结合DQMH框架特点将其灵活运用的一种方式。个人觉得在实际项目中会比较实用,顾在此结合之前的例子与大家分享。
在这里插入图片描述

实现方法

一个简单的例子

假设在DQMH框架中分别建立了两个Module :DA和UI。现在要将DA的界面,嵌入到UI界面的子面板中,达到如下图所示的效果。
在这里插入图片描述

  • 首先来分析一下这两个Module的Main.vi :
    DA .lvlib:Main.vi ,如下图所示,在DA的程序框图的initialize部分,需要建立一个Subpanel的引用句柄,它的作用是传入UI.lvlib:Main.vi中创建子面板的引用句柄;然后通过调用节点来控制UI中子面板控件的方法(如框图中所示,先通过Remove方法,清空子面板,然后通过Insert方法在子面板中插入一个面板);框图中插入的是本VI,也就是DA .lvlib:Main.vi的前面板,由于插入子面板的前提条件是前面板是Close状态,所以在插入之前先将自己的前面板通过FP.Close方法关闭了。
    这个过程可以类似的想象为:在Windows系统中,一个叫UI的电脑通过远程桌面的方式,访问一个名为DA的电脑。在UI电脑屏幕显示DA桌面的同时,DA电脑自身的桌面一定是不可显示的状态。 在这里插入图片描述
    UI.lvlib:Main.vi,如下图所示,UI前面板中的子面板通过引用的方式传递给了DA的启动VI 即Start Module.vi。 在这里插入图片描述
    你仔细的捋一下,前面两个框图DA 和 UI 虽然是独立的VI, 可以是两个VI之间通过一个引用相互联系。有一种我中有你,你中有我的感觉。UI和DA之间有一个小桥DA .lvlib:Start Module.vi(这个桥是DA建的),子面板的引用可以在桥上通过。

  • 然后,你可以用上帝视角来看一下,站在高处你可以看到来龙去脉,看下面这个图!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

hrbeuxn

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值