Как получить данные точки в текст редактирования из рабочей области Matlab в GUI? - PullRequest
2 голосов
/ 28 ноября 2011

У меня есть матрица ячеек 8x1 в моей рабочей области matlab, которая называется textdata.Он содержит тикеры в каждом ряду.Как использовать кнопки и edit1_Callbacks для программирования этого базового операционного процесса извлечения точки данных (что это за код и где я его набираю? Ничего сложного, просто хочу знать, как импортировать текстовые данные в графический интерфейс и с помощью нажатиякнопка возврата первого тикера в текстовое поле редактирования (1 точка данных из первой строки текстовых данных)?

1 Ответ

0 голосов
/ 16 декабря 2011

Вы можете использовать функцию Matlab evalin для извлечения переменной рабочей области из вашего графического интерфейса.

Следующий пример 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

Однако вы должны быть осторожны с этим, потому что ничто не гарантирует вам, что переменная существует или что это массив ячеек, поэтому вы должны быть осторожны. Это не совсем обычный способ передачи данных в графический интерфейс.

...