MATLAB製作GUI(3)-下拉列表的實現

今天我們打算使用MATLAB中的GUI功能製作一個函數曲線繪製的GUI,其中將會講到下拉列表的實現這一新的功能,下面是我實現的GUI的界面:

創建過程很簡單, 具體的過程我就不在這裏詳細介紹,在GUI編輯功能中的樣子是下面這樣的,其中使用了下拉列表、可編輯文本、靜態文本、按鈕、圖像顯示框等功能:

 這裏我將詳細介紹下拉列表功能的實現,添加下拉列表組件之後,雙擊會出現相應的檢查器,設置下拉列表的內容:

點擊箭頭指向的按鈕,會出現下拉列表內容編輯器,在其中輸入自己想設置的內容,每一行爲一個選項,第一行爲默認顯示的內容:

在這個例子中,我們添加了兩個下拉列表選項,分別設置曲線的顏色和大小。下面我們就要實現相應的功能了:

首先我們要實現下拉列表內容的讀取,因此我們就要修改下拉列表的Callback函數內容:

通過get函數獲取我們所選擇的下拉列表中的內容,注意:這裏很容易產生誤區,以爲我們獲取的是我們填入其中的內容,如‘紅色’、‘黑色’、‘藍色’等其實我們這裏獲取的不是其內容,而是行號,第一行的行號爲1,第二行爲2,以此類推,因此函數爲get(handles.popupmenu1,'Value')。因爲Lc的值我們在其他的函數中進行調用,因此我們使用了全局變量global。兩個下拉列表的Callback函數是類似的。

最後,我們定義按鈕的Callback函數,實現整個GUI的功能:

注意:因爲我們繪製的是隱函數的曲線,因此要使用ezplot函數進行繪製。

最後實現了繪製函數曲線的GUI:

最後,我們再實現一個小功能:當鼠標初次點擊可編輯文本時,清除其中的指示內容,本例中的是“請輸入函數”。

這是我們要定義可編輯文本的另一個函數edit2.ButtonDownFcn函數,該函數是當鼠標點擊edit2時實現的其中的函數功能:

首先我們要先將edit2的Enable屬性設置爲‘inactive'(inactive,ButtonDownFcn函數有效;off和on時,ButtonDownFcn都無效,然而off時不可以進行編輯,on時可以進行編輯),之後更改edit2.ButtonDownFcn函數:

當點擊可編輯文本時,set函數先將其中的內容清除,在使用uicontrol函數將鼠標聚焦在可編輯文本中(如果不理解什麼意思,可以自己試一下有無這個函數的效果)。

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章