MATLAB GUI不同控制項函式間變數傳遞方法

2022-08-09 10:48:14 字數 906 閱讀 2842

在gui中乙個控制項函式結束後,會將在這個函式中使用的變數全部刪除,如果想在另乙個控制項中使用,則必須想辦法將這個變數儲存傳遞,方法有以下幾種:

1、使用globe定義全域性變數,這種方法不是很好,一方面是要在使用變數的函式裡面要先對變數進行宣告,另一方面,在乙個函式裡面對變數進行操作就會對所有函式起作用,這樣不是太方便,但畢竟是一種解決方法。

function btn1_callback(hobject,userdata,handles)

global var1

%對var1的處理

function btn2_callback(hobject,userdata,handles)

global var1

%對var1的引用

2、使用guidata函式,使用方法是:

handles.x=str2double(get(hobject,'string'));

guidata(hobject,handles);

在別的函式中只要使用handles.x就可以得到str2double(get(hobject,'string'))數值。

這種方法的好處是,在改變了控制項的tag後,方便使用相應控制項傳遞來的資料,缺點是要改變控制項的控制代碼handles值,這樣似乎不是很安全。

3、使用空間的userdata屬性儲存資料,使用方法如下:

set(handles.x,'userdata',a);

這裡a就是要傳遞的變數,現在暫時儲存在這個控制項的userdata中,需要取出時:

a=get(handles.x,'userdata');

即可將a傳遞到新函式中,如果要傳遞的是多個變數,可以使用結構陣列進行傳遞

這種方法是最安全且自由度高的傳遞方法,推薦!!!

**:關於gui中不同函式間資料傳遞

(出處: matlab中文論壇)

Android 單獨控制項實現不同字型大小 不同顏色

使用多個控制項來顯示會使 顯得臃腫,發現android提供了乙個span類 來實現這個功能 radiobutton radiobutton radiogroup.getchildat i string txt 差評 123 spannable spannable new spannablestrin...

WPF 動畫 同為控制項不同命

讀大學的時候,有一門課的作業是用 ppt 展示。但是我們很多同學都把 ppt 當做 word 來用,就單純地往裡面堆文字。大家都單純地從一頁堆積的文字翻到另一頁堆積的文字,以致於台下的同學都聽不下去,包括那些以同樣的方式匯報的同學。本來以為會在枯燥中期待下課的到來,直到有個叫幽靈東的同學匯報,他驚豔...

控制項與訊息函式

adjustwindowrect 給定一種視窗樣式,計算獲得目標客戶區矩形所需的視窗大小 anypopup 判斷螢幕上是否存在任何彈出式視窗 arrangeiconicwindows 排列乙個父視窗的最小化子視窗 attachthreadinput 連線線程輸入函式 begindeferwindow...