【问题标题】:Matlab passing data to another GUIMatlab 将数据传递到另一个 GUI
【发布时间】:2015-03-22 09:36:48
【问题描述】:

我是 Matlab 的新手,请在这个问题上指导我。 我有两个数字,我想将数据从第一个数字传递到第二个数字。 代码:

function pushbutton1_Callback(hObject, eventdata, handles)
    tryText=get(handles.text2,'String');
    open SecondPage.fig
guidata(hObject,handles);

如何在“tryText”中传递数据并在第二个图中使用?

我尝试使用这种格式传递数据:

function pushbutton1_Callback(hObject, eventdata, handles)
    tryText=get(handles.text2,'String');
    SecondPage(tryText)
guidata(hObject,handles);

但我没有运气找回它。 谢谢

最新更新:

function varargout = first(varargin)
handles=struct;
datas=struct;
    gui_Singleton = 1;
    gui_State = struct('gui_Name',       mfilename, ...
                       'gui_Singleton',  gui_Singleton, ...
                       'gui_OpeningFcn', @first_OpeningFcn, ...
                       'gui_OutputFcn',  @first_OutputFcn, ...
                       'gui_LayoutFcn',  [] , ...
                       'gui_Callback',   []);
    if nargin && ischar(varargin{1})
        gui_State.gui_Callback = str2func(varargin{1});
    end

    if nargout
        [varargout{1:nargout}] = gui_mainfcn(gui_State, varargin{:});
    else
        gui_mainfcn(gui_State, varargin{:});
    end

function first_OpeningFcn(hObject, eventdata, handles, varargin)
     handles.output = hObject;
guidata(hObject, handles);

function varargout = first_OutputFcn(hObject, eventdata, handles) 

varargout{1} = handles.output;

function pushbutton1_Callback(hObject, eventdata, handles)
    struct.a=get(handles.edit1,'String');
        set(handles.text1,'String',struct.a);
        disp(struct);
    setappdata(0,'MyStruct',struct);
open second.fig

平均时间:

function varargout = second(varargin)
    getappdata(0,'MyStruct');
        gui_Singleton = 1;
        gui_State = struct('gui_Name',       mfilename, ...
                       'gui_Singleton',  gui_Singleton, ...
                       'gui_OpeningFcn', @second_OpeningFcn, ...
                       'gui_OutputFcn',  @second_OutputFcn, ...
                       'gui_LayoutFcn',  [] , ...
                       'gui_Callback',   []);
    if nargin && ischar(varargin{1})
        gui_State.gui_Callback = str2func(varargin{1});
    end

    if nargout
        [varargout{1:nargout}] = gui_mainfcn(gui_State, varargin{:});
    else
        gui_mainfcn(gui_State, varargin{:});
    end


function second_OpeningFcn(hObject, eventdata, handles, varargin)
    handles.output = hObject;
guidata(hObject, handles);

function varargout = second_OutputFcn(hObject, eventdata, handles) 

varargout{1} = handles.output;


function pushbutton1_Callback(hObject, eventdata, handles)
disp(struct)

在第一张图中,disp(struct) 的结果是正确的,而在第二张图中,它显示“1x1 struct array with no fields”。
有人可以强调我的错误在哪里吗?谢谢

【问题讨论】:

    标签: matlab matlab-figure matlab-guide


    【解决方案1】:

    您需要使用句柄和数据结构来做到这一点。我不会在这里向您展示如何做到这一点,而只是将您指向an answer given in MATLAB Central,它会告诉您如何实现这一目标。

    【讨论】:

    • 亲爱的ha9u63ar,感谢您的回复,我已经检查过了,但是我无法检索第二个图中的数据,我已经上传了代码,您介意告诉我哪里错了吗?谢谢!
    【解决方案2】:

    感谢您的回复,我终于设法使它与以下代码一起工作。

    代码:

      function varargout = second(varargin)
    
        gui_Singleton = 1;
        gui_State = struct('gui_Name',       mfilename, ...
                       'gui_Singleton',  gui_Singleton, ...
                       'gui_OpeningFcn', @second_OpeningFcn, ...
                       'gui_OutputFcn',  @second_OutputFcn, ...
                       'gui_LayoutFcn',  [] , ...
                       'gui_Callback',   []);
        if nargin && ischar(varargin{1})
            gui_State.gui_Callback = str2func(varargin{1});
        end
    
        if nargout
            [varargout{1:nargout}] = gui_mainfcn(gui_State, varargin{:});
        else
        gui_mainfcn(gui_State, varargin{:});
        end
    
    
    function second_OpeningFcn(hObject, eventdata, handles, varargin)
        handles.output = hObject;
    guidata(hObject, handles);
    
    function varargout = second_OutputFcn(hObject, eventdata, handles) 
    
    varargout{1} = handles.output;
    
    
    function pushbutton1_Callback(hObject, eventdata, handles)
        struct=getappdata(0,'MyStruct');
    disp(struct)
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2018-03-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-06-28
      • 2021-07-19
      • 1970-01-01
      相关资源
      最近更新 更多