Importando valores de uma janela para outra na GUI do MATLAB
-
21-12-2019 - |
Pergunta
Suponha que eu tenha um botão em uma janela que ao clicar nele uma nova janela aparecerá.Eu chamo esta janela (com o nome de My_New_Window
) com esta sintaxe:
My_New_Window();
Quero inserir alguns valores nesta nova janela da janela principal.Eu sei que posso usar setappdata
ou getappdata
para esse propósito, mas existe outra maneira de fazer isso?Por exemplo, como esta sintaxe:
My_New_Window(Values);
Outra pergunta.Quando usamos setappdata
ou getappdata
, onde o MATLAB armazena esses dados?Na RAM ou no disco rígido?
Solução
Sim, você pode usar
My_New_Window(Values);
Por exemplo, no GUIDE, quaisquer parâmetros que você passar para sua GUI, você pode manipular noOpeningFcn
usando seuvarargin
entrada.Basta atribuirvarargin
para o seuhandles
estrutura e usoguidata(hObject, handles);
A respeito de
setappdata
- de acordo com este livro os dados são armazenados dentro de um "objeto".Como os objetos residem na memória, é seguro assumir que eles são realmente mantidos na RAM.
Outras dicas
Você pode armazenar dados na propriedade UserData da GUI:
set(handletoFigure,'UserData',Values);
quando você abre a outra GUI, você recupera as informações:
Values = get(handletoFigure,'UserData);
Existe uma razão pela qual você não deseja usar setappdata/getappdata?
Quanto à sua segunda pergunta, não sei, desculpe.Eu acho que é a RAM