簡體   English   中英

在 Matlab 中使用 GUIDE 時出錯

[英]Error in using GUIDE in Matlab

這是我使用 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

有人知道這是為什么嗎?

我終於弄明白了。 ORZ 這是因為我試圖通過直接在.fig文件中操作來使用 GUI。 如果是這樣,則數據無法傳輸。 正確的方法是按下.m文件中的運行按鈕!

希望沒有人會像我那樣做同樣愚蠢的事情。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM