Labview实现用户界面切换的几种方式---通过VI间相互调用

在做用户界面时我们的程序往往面对的对象是程序使用者,复杂程序如果放在同一个页面中,往往会导致程序冗长卡顿,此时通过多个VI之间的切换就可以实现多个界面之间的转换,也会显得程序更加的高大上。
本文所有程序均可下载,下载地址在文章结尾列举~

本文同样以理论实践相结合的方式来讲解界面切换是如何做的,有帮助的话记得点赞加关注~

本文目录

  • 一、VI调用方式
    • 1.1 重入执行
    • 1.2 引用方式
      • 1.2.1 打开引用
      • 1.2.2 静态引用
  • 二、通过VI调用切换界面实例
    • 2.1 通过重入调用小窗口设置
    • 2.2 通过引用实现界面来回切换
  • 三、总结

一、VI调用方式

本章汇总了几种从一个VI调用并跳转到另一个VI的几种方法,最常用的为下图两种,重入执行和静态引用的方式。
在这里插入图片描述

1.1 重入执行

这种调用方式相对比较暴力,相当于直接拉取子VI出来执行,方法也比较简单,有以下几个需要注意的点,首先是将我们需要跳转的子vi放入我们当前的程序中,操作方法是:后面板 — 右键 — 选择VI —选中需要插入的VI程序 即可,此时我们的子vi就躺在我们当前的程序中了。
在这里插入图片描述
放置好子VI时需要做以下几个操作:
打开子VI将其放置在当前程序中;
右键子vi — 设置子VI节点 — 选中“调用时显示前面板” — 点击确定,如下图所示:
在这里插入图片描述
右键VI调用配置 — 点击“与调用方同时加载”。
在这里插入图片描述
此时,当我们运行程序时,vi界面就被调用并弹出了。与此相关的程序Labview也配备了相同的范例,大家可以自行查看,“帮助 — 查找范例 — 输入重入VI” 即可。
我们采用这种调用方式时,当前VI和子VI其实是父子属性的,仅可被调用,子vi不可调用父VI,那么如何实现两个界面同级来回切换呢,请看第二部分。

1.2 引用方式

引用VI的方式有两种,即 打开引用和静态引用 两种方式,这两种方式无需直接将被调用VI放置在程序中,相当于被调用的VI和当前VI是同级关系而非父子关系,这样就可以实现程序间的相互调用了。

1.2.1 打开引用

如下图所示,右键后面板,函数在应用程序控制一项中。
在这里插入图片描述
建立应用程序的引用,需要将被引用程序的目标地址,打开程序的属性几个关键因素输入打开引用函数中。如下图所示:
在这里插入图片描述
程序后面的属性节点配置了被打开的VI的面板大小、窗口位置等的参数,开发者可自行选择。

1.2.2 静态引用

静态引用是指,将固定的某一个VI调用起来,并对当前vi一系列操作,函数的位置如下图所示:
在这里插入图片描述
调用步骤:
双击静态引用函数,弹出选择VI窗口,选中我们程序中需要跳转或调用的VI,点击确定,此时静态引用函数中,出现了当前VI的图标。
②此时可以通过静态调用该VI的方式获取VI引用,并使用调用节点打开VI,再使用属性节点调整VI的属性。
在这里插入图片描述
那么,基本的VI程序跳转方式都有了,怎样实现界面来回跳转和切换呢?接下来请看两个实际的用例。

二、通过VI调用切换界面实例

本章通过实例来分析重入执行程序和调用静态VI的不同方式,强化理论知识并向大家提供编程可借鉴的思路,在编程过程中,可直接套用题主本章的模板,两种方法分别适用于如下两种情况,如图所示:
重入方式: 主VI不关闭,弹出子VI。
引用方式: 主VI关闭并调出新VI,新VI可关闭并调回主VI,二者来回切换。

在这里插入图片描述
废话不多说,直接上实例。

2.1 通过重入调用小窗口设置

重入弹出小窗口的方式适用于程序是主程序不关闭,弹出小窗口 的情境下,一般用于弹出设置模块、从主程序中调用并弹出多个小调试模块等情境下。
本文提供了一个基于软件自带范例的示例程序,主VI如下图所示。
后面板
前面板

上面第一张图是当前程序的主VI后面板,第二张图是该程序的前面板,我们首先分析一下这个程序,首先进入程序时,对停止按钮赋值F,这是为了防止打开程序时如果默认值为T,程序就自动停止了。程序采用了两个并行的While循环函数,上下两个真分支均分别由两个被调用的不同子VI组成,上下两个循环分别由两个按钮控制,可以看到下图中的“弹出窗口设置1”和2,下面是题主编写的两个被重入的子VI程序图。
第一个子VI程序如下图所示:
在这里插入图片描述
第二个子VI程序如下图所示:
在这里插入图片描述
在这个程序中,一共有三个VI,即一个主VI两个子VI,当点击主VI中的“弹出设置窗口1”时,系统弹出第一个子VI程序,当关闭子VI的退出程序按钮时,子VI窗口关闭。第二个子VI程序操作方式相同。
基于这个模板,同学们可以自行设计应用程序的界面切换方式了。
本程序将会上传到云端,同学可自行下载学习。 将在本文最后列出下载地址。

2.2 通过引用实现界面来回切换

将两个VI之间的关系定义为同级关系,他们之间可以相关调用,就比如我们在使用一个观影软件时,当我们从电影频道切换到电视剧频道时,也可以从电视剧频道切换回电影频道,并且在切换到电影频道时,我们要关闭电视剧频道让软件仅显示电影频道。程序如下图所示:
在这里插入图片描述
这样就可以实现两个程序之间的界面相互切换了。
前面板如下图所示,当我们点击 “切换界面” ,当前第一个蓝色页面程序关闭,跳转到第二个红色页面并打开运行,当我们点击第二个页面的 “返回上一层” 时,关闭当前红色页面打开第一个蓝色页面。这样我们就是实现了两个界面之间的无限相互切换啦。
大家可以在我的程序范例的基础上,开发自己想要的软件,本文结尾提供该程序的源代码,欢迎下载~
在这里插入图片描述

三、总结

本文介绍了界面切换的几种方式,分别是重入和引用的方式,针对本文做出如下总结:
重入方式可以通过调用子VI的方式打开被调用的界面,往往应用于弹窗等的设置程序。
引用方式分两种,一种是打开引用,一种是静态引用。区别在于打开引用需要设置被打开VI的目标地址,静态引用仅需在引用时绑定VI的位置即可。
推荐使用静态引用的方式切换界面。
使用引用打开界面时,需通过属性节点和调用节点来设置程序的状态。
更多内容欢迎大家补充和留言讨论~

本文介绍了GUI界面设计相关的程序,更多相关文章后续持续更新,请关注作者不迷路~
本期就到这里,再见~

程序下载地址:
链接:https://pan.baidu.com/s/1Dq0ZbDWrlcTL4mO53uGn2w
提取码:6666

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/414014.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

WINCC读写EXCEL-VBS

原创 RENHQ WINCC 关于VBS操作EXCEL的文档不管在论坛上还是在网上,相关的脚本已经很多,但是依然有很多人在问这个问题,于是把我以前在论坛上发的一个集合帖子的脚本拿来,重新开个帖子,如果再有人问的话,可…

年龄性别预测1:年龄性别数据集说明(含下载地址)

年龄性别预测1:年龄性别数据集说明(含下载地址) 目录 年龄性别预测1:年龄性别数据集说明(含下载地址) 1.前言 2.MegaAge_Asian 3.MORPH 4.IMDB-WIKI 5.数据集下载 6.年龄性别预测和识别(Python/C/Android) 1.前言 本项目将实现年龄性别预测和识…

在线扒站网PHP源码-在线扒站工具网站源码

源码介绍 这是一款在线的网站模板下载程序,也就是我们常说的扒站工具,利用它我们可以很轻松的将别人的网站模板样式下载下来,这样就可以大大提高我们编写前端的速度了!注:扒取的任何站点不得用于商业、违法用途&#…

VSCode 插件推荐

前言 关于开发用的插件就不做赘述了,网上面有很多文章都做了推荐,本文推荐几个好看的插件。 文件图标主题 Vscode icons Material Icon Theme 字体主题 推荐 One Dark Pro 其他 推荐一个生成好看代码的网址 https://carbon.now.sh/

uniapp+vue3打包问题记录

**背景:**打包app出现问题,只显示底部导航的文字,其他一片空白 1. pages.json文件:tabBar中的iconPath图标格式不支持svg,只支持:png, jpg, jpeg的格式,当图片改为.png的时候可以正常显示 2. …

搭建开源数据库中间件MyCat2-配置mysql数据库双主双从

mycat2官网:MyCat2 前言:mycat2下载地址无法访问,不知道是不是被DNS污染了,还是需要搭梯子访问,所以我只能找到1.21的版本进行安装。搭建mycat2的前提是搭建数据库主从复制。 架构:双主双从 配置&#xf…

在线App封装技术:HTML5的新生命

HTML5封装的魅力所在HTML5带来了丰富的多媒体功能、地理位置服务、离线存储等特性,使得Web应用的体验更加接近原生App。封装HTML5到App中,可以大大缩短开发周期,降低开发成本,并且一次编写,多平台运行,极大…

一套可以替代人工的Cnc机床自动上下料机器人

Cnc机床自动上下料|整体解决方案 CNC机床自动上下料是指通过自动化设备和系统,实现CNC机床在加工过程中自动进行上下料操作。这种自动化系统通常包括自动送料机和卸料机,可以根据加工工件的尺寸和形状自动调整上下料的位置和角度,从而提高生产…

Git提交 ssh: connect to host github.com port 22: Connection timed out解决方案

你们好,我是金金金。 场景 之前都是好好的,不知道今天为什么提交代码就这样了 排查 根据英文可以看出,ssh端口号被拒绝了,22号端口不行,那就换一个端口 造成error的原因 ssh端口被拒绝 解决 找到.ssh文件&#xff…

【数据库原理】(27)数据库恢复

在数据库系统中,恢复是指在发生某种故障导致数据库数据不再正确时,将数据库恢复到已知正确的某一状态的过程。数据库故障可能由多种原因引起,包括硬件故障、软件错误、操作员失误以及恶意破坏。为了确保数据库的安全性和完整性,数…

RK3568 android11 移植 v4l2loopback 虚拟摄像头

一,v4l2loopback 简介 v4l2loopback是一个Linux内核模块,它允许用户创建虚拟视频设备。这种虚拟视频设备可以用于各种用途,例如将实际摄像头的视频流复制到虚拟设备上,或者用于视频流的处理和分析等。v4l2loopback的主要作用是创…

python数字图像处理基础(十)——背景建模

目录 背景建模背景消除-帧差法混合高斯模型 背景建模 背景建模是计算机视觉和图像处理中的一项关键技术,用于提取视频中的前景对象。在视频监控、运动检测和行为分析等领域中,背景建模被广泛应用。其基本思想是通过对视频序列中的像素进行建模&#xff…