zoukankan      html  css  js  c++  java
  • matlab guide未定义与 'matlab.ui.control.UIControl' 类型的输入参数相对应的函数

    事情是这样的:

    使用matlab的guide进行界面开发的时候,先拖了一个控件到窗口,然后写它的回调函数,后来发现这个控件的Tag名取的不合理,就将其改动了,比如从原来的”slider2”改为了”slider_height”,然后保存运行,matlab就报错了,错误类似下面:

    错误使用 feval
    未定义与 'matlab.ui.control.UIControl' 类型的输入参数相对应的函数
    'slider2_CreateFcn'。
    
    出错 gui_mainfcn (line 95)
            feval(varargin{:});
    
    出错 altimeterProcess (line 42)
        gui_mainfcn(gui_State, varargin{:});

    这个时候已经有新的slider_height_CreateFcn以及slider_height_Callback函数,但是为什么matlab还要求slider2_CreateFcn函数的存在呢?slider2按道理不是应该消失了吗?

    具体原因我不知道,但是从关于gui中控件删除的疑问中可以看到,忽略这个错误不会对程序运行有什么影响,只是每次都有那个“叮叮叮”的声音。如果要让matlab不报错,就把它提示没有定义的函数的定义给出来。以上面的为例,把slider2_CreateFcn的定义给出来,具体做法是,找一个相同控件的CreateFcn函数复制过来将它的名字改为slider2_CreateFcn即可:

    % --- Executes during object creation, after setting all properties.
    function slider2_CreateFcn(hObject, eventdata, handles)
    % hObject    handle to slider_point (see GCBO)
    % eventdata  reserved - to be defined in a future version of MATLAB
    % handles    empty - handles not created until after all CreateFcns called
    
    % Hint: slider controls usually have a light gray background.
    if isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor'))
        set(hObject,'BackgroundColor',[.9 .9 .9]);
    end

    再运行就不会报错了,真想知道具体原因啊!

  • 相关阅读:
    pinyin4j使用示例
    迭代器模式
    适配器模式
    策略模式
    装饰模式
    责任链模式
    命令模式
    中介者模式
    原型模式
    代理模式
  • 原文地址:https://www.cnblogs.com/shanchuan/p/8150271.html
Copyright © 2011-2022 走看看