在Octave

时间:2016-07-21 12:11:22

标签: user-interface callback octave nested-function function-handle

我正在尝试使用以下代码在Octave(4.0.1,使用GUI版本)中开发GUI:

  • 主要GUI功能
    • 创造人物形象的功能各种uicontrol
    • uicontrol#1
    • 的回调函数
    • uicontrol#2
    • 的回调功能
    • uicontrol#3
    • 的回调功能
    • 等...

每个功能都由function&分隔。 end。我尝试编写的第一个回调看起来像这样:按钮在"图形创建"中定义。功能如:

gui.select_btn = uicontrol('Style','pushbutton','String','Select log file ...',...
                'Units','normalized','Position',[0.01 0.52 0.25 0.47],...
                'BackgroundColor',get(gui.Window,'Color'),'Parent',gui.file_panel,...
                'Enable','on','Callback',{@browse_log_file,gui});

并且它的回调在回调函数中定义如下:

function browse_log_file(src,data,gui)
  % Called when user presses the "Select log file ..." button
  [fname, pname] = uigetfile({'*.log'},'Select log file');          
  set(gui.log_file_edit,'String',[pname,fname]);
end

whi gui是主GUI功能中定义的struct,通过调用"图形创建"功能与可以通过所有嵌套函数访问。

但是,当我尝试运行代码时,收到以下错误消息:

error: handles to nested functions are not yet supported
error: called from
    GUI_analyser>create_interface at line 71 column 20
    GUI_analyser at line 8 column 7
error: evaluating argument list element number 1
error: called from
    GUI_analyser>create_interface at line 71 column 20
    GUI_analyser at line 8 column 7
error: evaluating argument list element number 16
error: called from
    GUI_analyser>create_interface at line 71 column 20
    GUI_analyser at line 8 column 7

指向{@browse_log_file,gui}的行。

有关如何解决此问题的任何建议?

0 个答案:

没有答案