2011-11-28 31 views
2

我在我的matlab工作區中有一個名爲textdata的8x1單元矩陣。它包含每行中的代號。我如何使用按鈕和edit1_Callbacks來編程這個基本的數據點檢索operaton(什麼是代碼和我在哪裏輸入呢?沒有華而不實的東西,只是想知道如何導入的TextData進入GUI版本和帶有buttun的推檢索第一股票進入編輯文本框(從的TextData的第一行1個數據點)?如何檢索數據點到編輯文本從MATLAB工作區gui?

+3

你應該開始接受給定的答案,以獲得新的。 – zellus

+0

好的謝謝你的提示......不知道。你能幫助我解決這個基本問題嗎? –

+0

到目前爲止你做了什麼?嘗試發佈一個最小的原型來展示你的問題。 – zellus

回答

0

可以使用MATLAB函數evalin從您的GUI檢索工作空間的變量。

下面的例子GUI說明了這一點,你可以從這個起點擴大:

% GUI 
function so_wsgui 
figure('units','normalized',... 
    'position',[0.15 0.15 0.7 0.7],... 
    'color',[1 1 1]*0.5,... 
    'numbertitle','off',... 
    'menubar','none',... 
    'toolbar','none',... 
    'tag','figure'); 
data=guihandles(gcf); 
uicontrol('parent',data.figure,... 
    'style','pushbutton',... 
    'string','Import',... 
    'units','normalized',... 
    'position',[0.1 0.85 0.8 0.05],... 
    'callback',@import_callback); 
uicontrol('parent',data.figure,... 
    'style','edit',... 
    'horizontalalignment','center',... 
    'backgroundcolor',[1 1 1],... 
    'units','normalized',... 
    'position',[0.1 0.5 0.8 0.05],... 
    'tag','text'); 
data=guihandles(gcf); 
guidata(gcf,data); 
end 
% Callbacks 
function import_callback(obj,event) %#ok 
data=guidata(gcbf); 
try 
    wsvar=evalin('base','textdata'); 
    set(data.text,'string',wsvar{1}); 
catch exception 
    set(data.text,'string',['Error: ' exception.identifier]); 
end 
end 

但是你必須小心,因爲沒有什麼保證你的變量存在,或者它是一個單元格數組,所以你必須謹慎。這不是通常的將數據傳遞給GUI的方式。

相關問題