当前位置: 首页 > news >正文

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

相关文章:

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

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

点云从入门到精通技术详解100篇-基于点云和图像融合的智能驾驶目标检测(中)

目录 2.1.2 数据源选型分析 2.2 环境感知系统分析 2.2.1 传感器布置方案分析...

Apache-iotdb物联网数据库的安装及使用

一、简介 >Apache IoTDB (Database for Internet of Things) is an IoT native database with high performance for data management and analysis, deployable on the edge and the cloud. Due to its light-weight architecture, high performance and rich feature set…...

项目管理流程

优质博文 IT-BLOG-CN 一、简介 项目是为提供某项独特产品【独特指:创造出与以往不同或者多个方面与以往有所区别产品或服务,所以日复一日重复的工作就不属于项目】、服务或成果所做的临时性【临时性指:项目有明确的开始时间和明确的结束时间,不会无限期…...

0004.电脑开机提示按F1

常用的电脑主板不知道什么原因,莫名其妙的启动不了了。尝试了很多方法,没有奏效。没有办法我就只能把硬盘拆了下来,装到了另一台电脑上面。但是开机以后却提示F1,如下图: 根据上面的提示,应该是驱动有问题…...

中国电子学会2022年12月份青少年软件编程Scratch图形化等级考试试卷一级真题(含答案)

一、单选题(共25题,共50分) 1. 小明想在开始表演之前向大家问好并做自我介绍,应运行下列哪个程序?(2分) A. B. C. D. 2. 舞台有两个不同的背景,小猫角色的哪个积木能够切换舞台背景?(2分) A. B. C. D. 3. …...

C语言第二弹---C语言基本概念(下)

✨个人主页: 熬夜学编程的小林 💗系列专栏: 【C语言详解】 【数据结构详解】 C语言基本概念 1、字符串和\02、转义字符3、语句和语句分类3.1、空语句3.2、表达式语句3.3、函数调⽤语句3.4、复合语句3.5、控制语句 4、注释4.1、注释的两种形…...

Java 基础面试题 String(一)

Java 基础面试题 String(一) 文章目录 Java 基础面试题 String(一)String、StringBuffer、StringBuilder 的区别?String 为什么是不可变的?字符串拼接用“” 还是 StringBuilder? 文章来自Java Guide 用于学习如有侵…...

QT中QApplication对象有且只有一个

QT中QApplication对象有且只有一个 QApplication对象 QApplication对象 QApplication是应用程序对象 #include <QApplication> int main(int argc,char* argv[]); {//a对象在一个程序中有且只有一个&#xff0c;QT中要求必须有一个QApplication a&#xff08;argc,argv…...

HTML CSS 发光字头特效

效果展示&#xff1a; 代码&#xff1a; <html><head> </head><style>*{margin: 0;padding: 0;}body {text-align: center;}h1{/* border: 3px solid rgb(201, 201, 201); */margin-bottom: 20px;}.hcqFont {position: relative;letter-spacing: 0.07…...

4.postman批量运行及json、cvs文件运行

一、批量运行collection 1.各个接口设置信息已保存&#xff0c;在collection中点击run collection 2.编辑并运行集合 集合运行时&#xff0c;单独上传图片时报错。需修改postman设置 二、csv文件运行 可新建记事本&#xff0c;输入测试数据&#xff0c;后另存为新的文本文件&…...

Superset二次开发之集成链路追踪TraceID技术

config.py ##时间-日志级别-完整路径-文件名字-文件行-函数名字-信息 LOG_FORMAT = "%(asctime)s:%(levelname)s:%(pathname)s:%(module)s:%(lineno)d:%(funcName)s:%(message)s" 字符串详细信息 格式字符串作用%(name)s日志记录器的名称(记录通道)%(levelno)s日…...

商品详情APP端原数据淘宝数据采集API接口代码接入示例

商品详情APP端原数据API接口&#xff08;接口接入入口&#xff09;的作用是提供APP端商品的详细信息&#xff0c;包括价格、描述、图片、折后价、优惠券信息等。通过调用这个API接口&#xff0c;开发者可以获取到APP端商品详情相关的数据&#xff0c;从而进行数据分析&#xff…...

企业官网搭建:打造专业形象的关键步骤

企业官网是企业在数字世界中的门面&#xff0c;搭建一个专业、功能齐全的官网对于企业的形象和业务发展至关重要。以下是一些关键的步骤&#xff1a; 一、确定目标和需求 明确网站的目标、受众和主要功能&#xff0c;为设计和内容提供指导。 二、域名和主机选择 选择易于记忆和…...

Vue2移动端项目使用$router.go(-1)不生效问题记录

目录 1、this.$router.go(-1) 改成 this.$router.back() 2、存储 from.path&#xff0c;使用 this.$router.push 3、hash模式中使用h5新增的onhashchange事件做hack处理 4、this.$router.go(-1) 之前添加一个 replace 方法 问题背景 &#xff1a; 在 Vue2 的一个移动端开发…...

ChatGPT与文心一言:AI助手之巅的对决

随着科技的飞速发展&#xff0c;人工智能助手已经渗透到我们的日常生活和工作中。 而在这个充满竞争的领域里&#xff0c;ChatGPT和文心一言无疑是最引人注目的两款产品。它们各自拥有独特的优势&#xff0c;但在智能回复、语言准确性、知识库丰富度等方面却存在差异。那么&am…...

前端实现贪吃蛇功能

大家都玩过贪吃蛇小游戏&#xff0c;控制一条蛇去吃食物&#xff0c;然后蛇在吃到食物后会变大。本篇博客将会实现贪吃蛇小游戏的功能。 1.实现效果 2.整体布局 /*** 游戏区域样式*/ const gameBoardStyle {gridTemplateColumns: repeat(${width}, 1fr),gridTemplateRows: re…...

文件操作(上)

目录 文件的必要性&#xff1a; 文件分类&#xff1a; 程序文件&#xff1a; 数据文件&#xff1a; 文件的打开与关闭&#xff1a; fopen函数分析: ​编辑 FILE*: char*filename: char*mode: fclose函数&#xff1a; 应用&#xff1a; 文件编译 Fgetc Fputc 应用…...

用CHAT写年终总结

问CHAT&#xff1a;写一份政企经理年度总结 CHAT回复&#xff1a;尊敬的同事和领导&#xff1a; 大家好&#xff0c;我是负责政企业务的经理&#xff0c;全年一直坚守在销售一线&#xff0c;为公司带来更多的企业客户并拓展业务领域。感谢领导和同事在工作中的大力支持与热情协…...

day01 深度学习介绍

目录 1.1深度学习介绍 1.2神经网络NN 1、概念&#xff1a; 2、神经元 3、&#xff08;单层&#xff09;神经网络 4、感知机&#xff08;两层&#xff09; 5、多层神经网络 6、激活函数 &#xff08;1&#xff09;饱和与非饱和激活函数 &#xff08;2&#xff09;饱和激活…...

日语AI面试高效通关秘籍:专业解读与青柚面试智能助攻

在如今就业市场竞争日益激烈的背景下&#xff0c;越来越多的求职者将目光投向了日本及中日双语岗位。但是&#xff0c;一场日语面试往往让许多人感到步履维艰。你是否也曾因为面试官抛出的“刁钻问题”而心生畏惧&#xff1f;面对生疏的日语交流环境&#xff0c;即便提前恶补了…...

树莓派超全系列教程文档--(61)树莓派摄像头高级使用方法

树莓派摄像头高级使用方法 配置通过调谐文件来调整相机行为 使用多个摄像头安装 libcam 和 rpicam-apps依赖关系开发包 文章来源&#xff1a; http://raspberry.dns8844.cn/documentation 原文网址 配置 大多数用例自动工作&#xff0c;无需更改相机配置。但是&#xff0c;一…...

Xshell远程连接Kali(默认 | 私钥)Note版

前言:xshell远程连接&#xff0c;私钥连接和常规默认连接 任务一 开启ssh服务 service ssh status //查看ssh服务状态 service ssh start //开启ssh服务 update-rc.d ssh enable //开启自启动ssh服务 任务二 修改配置文件 vi /etc/ssh/ssh_config //第一…...

Redis相关知识总结(缓存雪崩,缓存穿透,缓存击穿,Redis实现分布式锁,如何保持数据库和缓存一致)

文章目录 1.什么是Redis&#xff1f;2.为什么要使用redis作为mysql的缓存&#xff1f;3.什么是缓存雪崩、缓存穿透、缓存击穿&#xff1f;3.1缓存雪崩3.1.1 大量缓存同时过期3.1.2 Redis宕机 3.2 缓存击穿3.3 缓存穿透3.4 总结 4. 数据库和缓存如何保持一致性5. Redis实现分布式…...

Linux相关概念和易错知识点(42)(TCP的连接管理、可靠性、面临复杂网络的处理)

目录 1.TCP的连接管理机制&#xff08;1&#xff09;三次握手①握手过程②对握手过程的理解 &#xff08;2&#xff09;四次挥手&#xff08;3&#xff09;握手和挥手的触发&#xff08;4&#xff09;状态切换①挥手过程中状态的切换②握手过程中状态的切换 2.TCP的可靠性&…...

Golang dig框架与GraphQL的完美结合

将 Go 的 Dig 依赖注入框架与 GraphQL 结合使用&#xff0c;可以显著提升应用程序的可维护性、可测试性以及灵活性。 Dig 是一个强大的依赖注入容器&#xff0c;能够帮助开发者更好地管理复杂的依赖关系&#xff0c;而 GraphQL 则是一种用于 API 的查询语言&#xff0c;能够提…...

Qwen3-Embedding-0.6B深度解析:多语言语义检索的轻量级利器

第一章 引言&#xff1a;语义表示的新时代挑战与Qwen3的破局之路 1.1 文本嵌入的核心价值与技术演进 在人工智能领域&#xff0c;文本嵌入技术如同连接自然语言与机器理解的“神经突触”——它将人类语言转化为计算机可计算的语义向量&#xff0c;支撑着搜索引擎、推荐系统、…...

屋顶变身“发电站” ,中天合创屋面分布式光伏发电项目顺利并网!

5月28日&#xff0c;中天合创屋面分布式光伏发电项目顺利并网发电&#xff0c;该项目位于内蒙古自治区鄂尔多斯市乌审旗&#xff0c;项目利用中天合创聚乙烯、聚丙烯仓库屋面作为场地建设光伏电站&#xff0c;总装机容量为9.96MWp。 项目投运后&#xff0c;每年可节约标煤3670…...

Python爬虫(二):爬虫完整流程

爬虫完整流程详解&#xff08;7大核心步骤实战技巧&#xff09; 一、爬虫完整工作流程 以下是爬虫开发的完整流程&#xff0c;我将结合具体技术点和实战经验展开说明&#xff1a; 1. 目标分析与前期准备 网站技术分析&#xff1a; 使用浏览器开发者工具&#xff08;F12&…...

微信小程序云开发平台MySQL的连接方式

注&#xff1a;微信小程序云开发平台指的是腾讯云开发 先给结论&#xff1a;微信小程序云开发平台的MySQL&#xff0c;无法通过获取数据库连接信息的方式进行连接&#xff0c;连接只能通过云开发的SDK连接&#xff0c;具体要参考官方文档&#xff1a; 为什么&#xff1f; 因为…...