《電子技術(shù)應(yīng)用》
您所在的位置:首頁(yè) > 其他 > 解決方案 > 設(shè)計(jì)LabVIEW高級(jí)用戶(hù)界面

設(shè)計(jì)LabVIEW高級(jí)用戶(hù)界面

2011-07-07
作者:NI

目錄
  UI設(shè)計(jì):失傳的藝術(shù)?
  自定義UI外觀
  合理組織復(fù)雜UI
  程序運(yùn)行緩慢時(shí)告知用戶(hù)
  更多相關(guān)資源
  如果您仍然還在默認(rèn)的灰色前面板上填充各種新式或經(jīng)典控件,那么您甚至還沒(méi)有真正觸及到用戶(hù)界面(UI)的設(shè)計(jì)。
 
  如果說(shuō)架構(gòu)合理、功能完備的程序框圖好比三明治的夾肉,那么漂亮而實(shí)用的UI則是那上下兩層面包。也許您會(huì)問(wèn)它是必不可少的嗎?也許不是的,但是這是這一外觀讓它與眾不同。


圖1. 小改變帶領(lǐng)您一步步設(shè)計(jì)出更加漂亮和易用的UI


UI設(shè)計(jì):失傳的藝術(shù)?
  如果您咨詢(xún)NI LabVIEW開(kāi)發(fā)者他們使用LabVIEW最?lèi)?ài)它的哪一特性,大家會(huì)給您各種各樣的回答,比如可以方便處理現(xiàn)實(shí)世界中的信號(hào),或者使用高級(jí)工具獲得效率提升,又或者是圖形化數(shù)據(jù)流非常自然的的編程方式。開(kāi)發(fā)者往往忽略了LabVIEW的“圖形化”這一優(yōu)點(diǎn),正是這些圖形界面的前面板構(gòu)成了每一個(gè)VI的“半壁江山”。
 
  編寫(xiě)優(yōu)美的代碼是每個(gè)應(yīng)用程序重要的組成部分。畢竟,無(wú)法正常執(zhí)行的程序是無(wú)意義的投資。隨著LabVIEW不斷的擴(kuò)展,它不斷應(yīng)用于越來(lái)越復(fù)雜的應(yīng)用中,開(kāi)發(fā)人員必須投入更多的精力來(lái)提高應(yīng)用程序開(kāi)發(fā)的美感,因?yàn)榧幢闶枪δ芡旰玫某绦?,如果它的界面?huì)令用戶(hù)困惑不解,那么它的價(jià)值也大打折扣。


圖2.  雖然兩個(gè)VI的功能并無(wú)區(qū)別,然而秒表外形的控件讓用戶(hù)更容易識(shí)別出其跑秒功能


  下面介紹三個(gè)LabVIEW技巧,幫助您改進(jìn)程序,使它擁有外觀和功能都更加優(yōu)秀的UI。
 
  1. 自定義UI外觀
  改進(jìn)UI外觀最簡(jiǎn)單的方式是利用其他元素替代LabVIEW默認(rèn)的灰色前面板背景以及“新式控件面板”。只要簡(jiǎn)單改變前面板的背景顏色、利用外部資源圖片美化您的UI、或者只用簡(jiǎn)單利用系統(tǒng)控件模板,無(wú)需投入大量時(shí)間進(jìn)行自定義您就可以獲得獨(dú)一無(wú)二的界面外觀了。另外,系統(tǒng)輸入控件和顯示控件對(duì)大多數(shù)用戶(hù)來(lái)說(shuō)都是非常熟悉的,因?yàn)樗鼈兪菍?zhuān)門(mén)設(shè)計(jì)成具有操作系統(tǒng)風(fēng)格的。這使得用戶(hù)能夠快速熟悉功能,因而更具有易用性。
 
  自定義控件增加了豐富性和靈活性。使用LabVIEW控件編輯器,您可以剖析每個(gè)控件,對(duì)組成控件的每個(gè)底層圖形組成部分進(jìn)行分離和修改。這一技巧令每一個(gè)控件更加風(fēng)格化、易于識(shí)別,或者更加能表現(xiàn)它們所表示的現(xiàn)實(shí)世界信號(hào)。從給按鈕添加模型貼圖到修改儀表背景圖片,控件自定義是改進(jìn)LabVIEW UI外觀最受歡迎的一種方式。
 
  2. 合理組織復(fù)雜UI
  然而,伴隨著您的應(yīng)用程序功能范圍的擴(kuò)大,您不得不經(jīng)常在您的LabVIEW前面板增加大量的顯示信息。幸運(yùn)的是,如果不要求同時(shí)顯示所有的控件,LabVIEW有兩個(gè)簡(jiǎn)單的技巧可以簡(jiǎn)化處理復(fù)雜UI的工作。
 
  選項(xiàng)卡(Tab)控件是一個(gè)常用的UI組件,它可以有效地將UI功能封裝成幾個(gè)不同的部分。它們簡(jiǎn)單易用,并且比大多人想象的更為靈活。在您的前面板添加一個(gè)選項(xiàng)卡控件,然后將其它輸入和顯示控件填充到選項(xiàng)卡,您可以增加和刪減選顯卡個(gè)數(shù),改變選顯卡的透明度,選擇選顯卡的物理位置以垂直顯示分類(lèi),甚至您還可以給選顯卡添加圖片。
 
  然而,利用選項(xiàng)卡雖然獲得了易用性,卻犧牲了擴(kuò)展性。因?yàn)橛脩?hù)顯示器的尺寸的緣故,添加的選顯卡控件的數(shù)目是有限的。在進(jìn)行開(kāi)發(fā)前您應(yīng)該仔細(xì)考慮這一細(xì)節(jié)。另外,雖然大多數(shù)內(nèi)容不可見(jiàn),但選項(xiàng)卡控件會(huì)一次性加載所有輸入和顯示控件到內(nèi)存中。這可能會(huì)對(duì)程序的性能產(chǎn)生不利影響。
 
  一個(gè)可擴(kuò)展的UI組織方法是使用LabVIEW子面板技術(shù)。利用子面板,您可以創(chuàng)建無(wú)數(shù)的子VI,從而可以在適當(dāng)?shù)臅r(shí)候動(dòng)態(tài)地將特定子VI內(nèi)容填充到子面板控件中。利用LabVIEW子面板,您可以決定何時(shí)將顯示內(nèi)容加載到內(nèi)存或釋放掉,這使得您可以更好對(duì)程序進(jìn)行控制。
 
  3. 程序運(yùn)行緩慢時(shí)告知用戶(hù)
  沒(méi)有什么比遇到很少進(jìn)行大量長(zhǎng)時(shí)間運(yùn)算的程序卡死了更令人難受了。對(duì)一個(gè)長(zhǎng)時(shí)間的操作,及時(shí)告知用戶(hù)它的開(kāi)始、結(jié)束和進(jìn)行中等的信息是十分重要的。
 
  LabVIEW 自帶了繁忙鼠標(biāo)和進(jìn)程條控件,在程序后臺(tái)處理任務(wù)時(shí),這些控件可以方便地通知用戶(hù)。當(dāng)您知道程序執(zhí)行的詳細(xì)流程時(shí)—例如各種For循環(huán)的頻繁迭代—使用系統(tǒng)水平進(jìn)度條是一個(gè)很有效的選擇。
 
  您的應(yīng)用程序在用戶(hù)第一次啟動(dòng)時(shí)可能會(huì)有一個(gè)長(zhǎng)時(shí)間的加載過(guò)程。您可以制作一個(gè)啟動(dòng)畫(huà)面,在獲知加載過(guò)程的同時(shí)讓您的用戶(hù)知道您的程序已經(jīng)成功啟動(dòng)了。通過(guò)利用前面板透明度和居中開(kāi)機(jī)畫(huà)面,LabVIEW只需對(duì)少數(shù)屬性稍作修改,就可以十分方便地完成一個(gè)專(zhuān)業(yè)的產(chǎn)品。


圖3.  您可以輕松創(chuàng)建和使用啟動(dòng)畫(huà)面以實(shí)現(xiàn)在緩慢加載時(shí)通知用戶(hù)的功能


  – Derrick Snyder  
 
  Derrick Snyder是美國(guó)國(guó)家儀器 NI DIAdem和數(shù)據(jù)管理軟件的產(chǎn)品經(jīng)理。您可以在第8頁(yè)了解更多Derrick關(guān)于本主題的文章—“避免用戶(hù)因單元混亂而導(dǎo)致災(zāi)難”。
 
  – Simon Hogg  
 
  Simon Hogg 是美國(guó)國(guó)家儀器LabVIEW產(chǎn)品經(jīng)理。他擁有賴(lài)斯大學(xué)的電氣工程與管理研究的雙學(xué)士學(xué)位。Simon負(fù)責(zé)NI社區(qū)UI興趣小組的幾十個(gè)自定義UI例程代碼。
 
  1如果您熱愛(ài)UI設(shè)計(jì),加入LabVIEW開(kāi)發(fā)者在線(xiàn)社區(qū)

本站內(nèi)容除特別聲明的原創(chuàng)文章之外,轉(zhuǎn)載內(nèi)容只為傳遞更多信息,并不代表本網(wǎng)站贊同其觀點(diǎn)。轉(zhuǎn)載的所有的文章、圖片、音/視頻文件等資料的版權(quán)歸版權(quán)所有權(quán)人所有。本站采用的非本站原創(chuàng)文章及圖片等內(nèi)容無(wú)法一一聯(lián)系確認(rèn)版權(quán)者。如涉及作品內(nèi)容、版權(quán)和其它問(wèn)題,請(qǐng)及時(shí)通過(guò)電子郵件或電話(huà)通知我們,以便迅速采取適當(dāng)措施,避免給雙方造成不必要的經(jīng)濟(jì)損失。聯(lián)系電話(huà):010-82306118;郵箱:aet@chinaaet.com。