【问题标题】:Error in using GUIDE in Matlab在 Matlab 中使用 GUIDE 时出错
【发布时间】:2015-03-05 06:28:14
【问题描述】:

这是我使用 GUIDE 的 GUI 代码

function varargout = testcreat(varargin)
    gui_Singleton = 1;
    gui_State = struct('gui_Name',       mfilename, ...
                       'gui_Singleton',  gui_Singleton, ...
                       'gui_OpeningFcn', @testcreat_OpeningFcn, ...
                       'gui_OutputFcn',  @testcreat_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 testcreat_OpeningFcn(hObject, eventdata, handles, varargin)
    handles.output = hObject;
    guidata(hObject, handles);

function varargout = testcreat_OutputFcn(hObject, eventdata, handles) 
    varargout{1} = handles.output;

function edit1_Callback(hObject, eventdata, handles)

function edit1_CreateFcn(hObject, eventdata, handles)
    if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor'))
        set(hObject,'BackgroundColor','white');
    end

function pushbutton1_Callback(hObject, eventdata, handles)
    a=get(handles.edit1,'String');
    set(handles.text1,'String',a);
    guidata(hObject,handles); 

我正在尝试在 Matlab 中构建一个 GUI,上面的代码是一个测试。但是它没有运行,并且它给出了如下错误信息:

Attempt to reference field of non-structure array.
Error in testcreat>pushbutton1_Callback (line 104)
    a=get(handles.edit1,'String');
Error in gui_mainfcn (line 95)
        feval(varargin{:});
Error in testcreat (line 42)
    gui_mainfcn(gui_State, varargin{:});
Error in @(hObject,eventdata)testcreat('pushbutton1_Callback',hObject,eventdata,guidata(hObject))

Error while evaluating uicontrol Callback

有人知道这是为什么吗?

【问题讨论】:

  • 我觉得没问题。您确定 edit1 文本字段仍然存在于 GUIDE 中并且是这样调用的吗?在 GUIDE 中单击保存时,.m 文件会更新,这有时会有所帮助。
  • 是的,我确定文本字段存在并且标签没有问题。而且我确实保存了 .m 文件。

标签: matlab user-interface matlab-figure matlab-guide


【解决方案1】:

我终于明白了。奥兹 这是因为我尝试通过直接在.fig 文件中操作来使用GUI。如果是这样,数据将无法传输。 而正确的方法是按下.m文件中的运行按钮!

希望没有人会像我一样做同样愚蠢的事情。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-05-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-02-22
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多