在做用戶界面時我們的程序往往面對的對象是程序使用者,復(fù)雜程序如果放在同一個頁面中,往往會導(dǎo)致程序冗長卡頓,此時通過多個VI之間的切換就可以實現(xiàn)多個界面之間的轉(zhuǎn)換,也會顯得程序更加的高大上。
本文所有程序均可下載,下載地址在文章結(jié)尾列舉~
本文同樣以理論和實踐相結(jié)合的方式來講解界面切換是如何做的,有幫助的話記得點贊加關(guān)注~
一、VI調(diào)用方式
本章匯總了幾種從一個VI調(diào)用并跳轉(zhuǎn)到另一個VI的幾種方法,最常用的為下圖兩種,重入執(zhí)行和靜態(tài)引用的方式。
1.1 重入執(zhí)行
這種調(diào)用方式相對比較暴力,相當(dāng)于直接拉取子VI出來執(zhí)行,方法也比較簡單,有以下幾個需要注意的點,首先是將我們需要跳轉(zhuǎn)的子vi放入我們當(dāng)前的程序中,操作方法是:后面板 — 右鍵 — 選擇VI —選中需要插入的VI程序 即可,此時我們的子vi就躺在我們當(dāng)前的程序中了。
放置好子VI時需要做以下幾個操作:
① 打開子VI將其放置在當(dāng)前程序中;
② 右鍵子vi — 設(shè)置子VI節(jié)點 — 選中“調(diào)用時顯示前面板” — 點擊確定,如下圖所示:
③右鍵VI調(diào)用配置 — 點擊“與調(diào)用方同時加載”。
此時,當(dāng)我們運行程序時,vi界面就被調(diào)用并彈出了。與此相關(guān)的程序Labview也配備了相同的范例,大家可以自行查看,“幫助 — 查找范例 — 輸入重入VI” 即可。
我們采用這種調(diào)用方式時,當(dāng)前VI和子VI其實是父子屬性的,僅可被調(diào)用,子vi不可調(diào)用父VI,那么如何實現(xiàn)兩個界面同級來回切換呢,請看第二部分。
1.2 引用方式
引用VI的方式有兩種,即 打開引用和靜態(tài)引用 兩種方式,這兩種方式無需直接將被調(diào)用VI放置在程序中,相當(dāng)于被調(diào)用的VI和當(dāng)前VI是同級關(guān)系而非父子關(guān)系,這樣就可以實現(xiàn)程序間的相互調(diào)用了。
1.2.1 打開引用
如下圖所示,右鍵后面板,函數(shù)在應(yīng)用程序控制一項中。
建立應(yīng)用程序的引用,需要將被引用程序的目標(biāo)地址,打開程序的屬性幾個關(guān)鍵因素輸入打開引用函數(shù)中。如下圖所示:
程序后面的屬性節(jié)點配置了被打開的VI的面板大小、窗口位置等的參數(shù),開發(fā)者可自行選擇。
1.2.2 靜態(tài)引用
靜態(tài)引用是指,將固定的某一個VI調(diào)用起來,并對當(dāng)前vi一系列操作,函數(shù)的位置如下圖所示:
調(diào)用步驟:
① 雙擊靜態(tài)引用函數(shù),彈出選擇VI窗口,選中我們程序中需要跳轉(zhuǎn)或調(diào)用的VI,點擊確定,此時靜態(tài)引用函數(shù)中,出現(xiàn)了當(dāng)前VI的圖標(biāo)。
②此時可以通過靜態(tài)調(diào)用該VI的方式獲取VI引用,并使用調(diào)用節(jié)點打開VI,再使用屬性節(jié)點調(diào)整VI的屬性。
那么,基本的VI程序跳轉(zhuǎn)方式都有了,怎樣實現(xiàn)界面來回跳轉(zhuǎn)和切換呢?接下來請看兩個實際的用例。
二、通過VI調(diào)用切換界面實例
本章通過實例來分析重入執(zhí)行程序和調(diào)用靜態(tài)VI的不同方式,強化理論知識并向大家提供編程可借鑒的思路,在編程過程中,可直接套用題主本章的模板,兩種方法分別適用于如下兩種情況,如圖所示:
重入方式: 主VI不關(guān)閉,彈出子VI。
引用方式: 主VI關(guān)閉并調(diào)出新VI,新VI可關(guān)閉并調(diào)回主VI,二者來回切換。
廢話不多說,直接上實例。
2.1 通過重入調(diào)用小窗口設(shè)置
重入彈出小窗口的方式適用于程序是主程序不關(guān)閉,彈出小窗口 的情境下,一般用于彈出設(shè)置模塊、從主程序中調(diào)用并彈出多個小調(diào)試模塊等情境下。
本文提供了一個基于軟件自帶范例的示例程序,主VI如下圖所示。
上面第一張圖是當(dāng)前程序的主VI后面板,第二張圖是該程序的前面板,我們首先分析一下這個程序,首先進入程序時,對停止按鈕賦值F,這是為了防止打開程序時如果默認值為T,程序就自動停止了。程序采用了兩個并行的While循環(huán)函數(shù),上下兩個真分支均分別由兩個被調(diào)用的不同子VI組成,上下兩個循環(huán)分別由兩個按鈕控制,可以看到下圖中的“彈出窗口設(shè)置1”和2,下面是題主編寫的兩個被重入的子VI程序圖。
第一個子VI程序如下圖所示:
第二個子VI程序如下圖所示:
在這個程序中,一共有三個VI,即一個主VI兩個子VI,當(dāng)點擊主VI中的“彈出設(shè)置窗口1”時,系統(tǒng)彈出第一個子VI程序,當(dāng)關(guān)閉子VI的退出程序按鈕時,子VI窗口關(guān)閉。第二個子VI程序操作方式相同。
基于這個模板,同學(xué)們可以自行設(shè)計應(yīng)用程序的界面切換方式了。
本程序?qū)蟼鞯皆贫?,同學(xué)可自行下載學(xué)習(xí)。 將在本文最后列出下載地址。
2.2 通過引用實現(xiàn)界面來回切換
將兩個VI之間的關(guān)系定義為同級關(guān)系,他們之間可以相關(guān)調(diào)用,就比如我們在使用一個觀影軟件時,當(dāng)我們從電影頻道切換到電視劇頻道時,也可以從電視劇頻道切換回電影頻道,并且在切換到電影頻道時,我們要關(guān)閉電視劇頻道讓軟件僅顯示電影頻道。程序如下圖所示:
這樣就可以實現(xiàn)兩個程序之間的界面相互切換了。
前面板如下圖所示,當(dāng)我們點擊 “切換界面” ,當(dāng)前第一個藍色頁面程序關(guān)閉,跳轉(zhuǎn)到第二個紅色頁面并打開運行,當(dāng)我們點擊第二個頁面的 “返回上一層” 時,關(guān)閉當(dāng)前紅色頁面打開第一個藍色頁面。這樣我們就是實現(xiàn)了兩個界面之間的無限相互切換啦。
大家可以在我的程序范例的基礎(chǔ)上,開發(fā)自己想要的軟件,本文結(jié)尾提供該程序的源代碼,歡迎下載~
三、總結(jié)
本文介紹了界面切換的幾種方式,分別是重入和引用的方式,針對本文做出如下總結(jié):
① 重入方式可以通過調(diào)用子VI的方式打開被調(diào)用的界面,往往應(yīng)用于彈窗等的設(shè)置程序。
② 引用方式分兩種,一種是打開引用,一種是靜態(tài)引用。區(qū)別在于打開引用需要設(shè)置被打開VI的目標(biāo)地址,靜態(tài)引用僅需在引用時綁定VI的位置即可。
③ 推薦使用靜態(tài)引用的方式切換界面。
④ 使用引用打開界面時,需通過屬性節(jié)點和調(diào)用節(jié)點來設(shè)置程序的狀態(tài)。
更多內(nèi)容歡迎大家補充和留言討論~
本文介紹了GUI界面設(shè)計相關(guān)的程序,更多相關(guān)文章后續(xù)持續(xù)更新,請關(guān)注作者不迷路~
本期就到這里,再見~文章來源:http://www.zghlxwxcb.cn/news/detail-805561.html
程序下載地址:
鏈接:https://pan.baidu.com/s/1Dq0ZbDWrlcTL4mO53uGn2w
提取碼:6666文章來源地址http://www.zghlxwxcb.cn/news/detail-805561.html
到了這里,關(guān)于Labview實現(xiàn)用戶界面切換的幾種方式---通過VI間相互調(diào)用的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!