3.2 界面區域與外界輸入的相互配合響應
由以上可知,顯示的圖形雖然形形色色,但是他們都可以抽象成具有共同屬性的某種數據結構。數據結構就好比是圖形界面的靈魂,掌握了數據結構,就可以讓圖形界面隨之而變。那么如何設計、控制、改變這些數據結構就成為實現用戶圖形界面(gui)的關鍵了。
要響應外界用戶的輸入,我們需要制定一套機制運行法則,而這套機制運行法則就是狀態機(system status machine),也是用戶用以操作儀器的操作平臺(operation platform)。依據這套運行法則,我們的系統根據外界的輸入來更改各種界面下使用的數據結構,從而實現用戶對圖形界面的操作。當然,在實際的設計中,操作平臺(operation platform)不僅僅是改變gui的數據結構,還要考慮任務調度以及其他任務模塊中的數據結構的改變。
4 數字示波器的用戶圖形界面(gui)的軟件設計流程
設計出一個好的用戶圖形界面,是一個龐大而巨細的工程。涉及到方方面面的相互之間的關系,也涉及到實現過程中的許多細節的問題。如何理清這些繁多的變化的關系,是設計的關鍵。rigol團隊曾經使用一些全局變量,來做為各種狀態、各種模式下的標示,用以改變用戶的圖形界面。但是因為變量的眾多,導致變量之間的搭配的可能性成倍的增加,狀態的轉移關系也就會成倍的增加。這對于編程者來說,與其說是在編程,還不如說是在做一道及其龐雜的邏輯組合題。
所以,這樣的思路在理論上是可行的,但在實際中是不可取的。我們應該盡量的去其枝葉,找到能夠貫穿整個系統,標示不同的狀態以及模式的變量或者結構。最終,我們以鍵盤的輸入鍵值為主線,輔以各種的全局變量,來控制系統狀態的變化。鍵值雖然有許多許多,但是因為只有這么一個變量做為狀態量,系統狀態的變化,就可以在掌控之中了。所以,在這個系統中,鍵值變量key_id成為了主角,用戶界面將圍繞其進行改變。
鍵值變量key_id要根據用戶的輸入進行改變。在這里我們就不描繪狀態
變量是如何轉移的。我們介紹對于既定的鍵值變量key_id是如何完成用戶圖形界面的輸出的。
5 結語
目前,國內的數字示波器,除了測量信號的性能指標較低外,在系統的整體性、用戶的可操作性等功能上不及國外產品考慮得周詳。
由以上可知,顯示的圖形雖然形形色色,但是他們都可以抽象成具有共同屬性的某種數據結構。數據結構就好比是圖形界面的靈魂,掌握了數據結構,就可以讓圖形界面隨之而變。那么如何設計、控制、改變這些數據結構就成為實現用戶圖形界面(gui)的關鍵了。
要響應外界用戶的輸入,我們需要制定一套機制運行法則,而這套機制運行法則就是狀態機(system status machine),也是用戶用以操作儀器的操作平臺(operation platform)。依據這套運行法則,我們的系統根據外界的輸入來更改各種界面下使用的數據結構,從而實現用戶對圖形界面的操作。當然,在實際的設計中,操作平臺(operation platform)不僅僅是改變gui的數據結構,還要考慮任務調度以及其他任務模塊中的數據結構的改變。
4 數字示波器的用戶圖形界面(gui)的軟件設計流程
設計出一個好的用戶圖形界面,是一個龐大而巨細的工程。涉及到方方面面的相互之間的關系,也涉及到實現過程中的許多細節的問題。如何理清這些繁多的變化的關系,是設計的關鍵。rigol團隊曾經使用一些全局變量,來做為各種狀態、各種模式下的標示,用以改變用戶的圖形界面。但是因為變量的眾多,導致變量之間的搭配的可能性成倍的增加,狀態的轉移關系也就會成倍的增加。這對于編程者來說,與其說是在編程,還不如說是在做一道及其龐雜的邏輯組合題。
所以,這樣的思路在理論上是可行的,但在實際中是不可取的。我們應該盡量的去其枝葉,找到能夠貫穿整個系統,標示不同的狀態以及模式的變量或者結構。最終,我們以鍵盤的輸入鍵值為主線,輔以各種的全局變量,來控制系統狀態的變化。鍵值雖然有許多許多,但是因為只有這么一個變量做為狀態量,系統狀態的變化,就可以在掌控之中了。所以,在這個系統中,鍵值變量key_id成為了主角,用戶界面將圍繞其進行改變。
鍵值變量key_id要根據用戶的輸入進行改變。在這里我們就不描繪狀態
變量是如何轉移的。我們介紹對于既定的鍵值變量key_id是如何完成用戶圖形界面的輸出的。
5 結語
目前,國內的數字示波器,除了測量信號的性能指標較低外,在系統的整體性、用戶的可操作性等功能上不及國外產品考慮得周詳。