我有一个gui,通过按一个按钮返回一个文件名数组。该数组显示在表格中。我使用了那段代码:
f=figure('Position',[150 150 700 350]);
t=uitable('Parent',f,'Position' ,[25 25 700 200]);
set(t,'Data',handles.result_filenames');
例如,这会返回6行,每行包含特定文件夹中的文件名。我想要的是从表中找到一种方法,用它来激发文件的动画。我有代码回调对于动画。
总而言之,我想要,例如,推送文件名,或文件名行的编号,或者在表中调用动画回调的其他内容。是否有可能?任何想法都会有所帮助。
到目前为止,我使用了以下代码:
f=figure('Position', [100, 200, 600, 460],...
'Name', 'Results-filenames',... % Title figure
'NumberTitle', 'off',... % Do not show figure number
'MenuBar', 'none'); % Hide standard menu bar menus
t=uitable('Parent',f,'Position' ,[50 100 300 230],...
'Data',handles.result_filenames',...
'ColumnWidth',{300},...
'ColumnEditable', false,...
'ToolTipString',...
'Select cells to highlight them on the plot',...
'ColumnName',{'filenames'},...
'CellSelectionCallback','animate(variables)');
因此,当我选择一行(文件名)时,select_callback函数会在另一个图中执行文件名的动画(我必须工作的东西)。
答案 0 :(得分:2)
您可以添加一个按钮来启动动画:
tb = uitoolbar(f);
uipushtool(tb,'ClickedCallback',@yourFunction);
或者设置'CellSelectionCallback'
以便在选择时运行回调 - 搜索标记matlab-uitable,您会发现很多示例如何执行此操作。
基本上:
f = figure('Position',[150 150 700 350]);
t = uitable('Parent',f,'Position' ,[25 25 700 200]);
set(t,'Data',handles.result_filenames');
set(t,'CellSelectionCallback',@yourFunction);
或制作精美的下拉菜单 - 这样您就可以点击文件名并在不同的选项中进行选择。然后你需要'CellEditCallback'
。
function fancyUitable
selector = { 'Start animation'; 'Go to folder' ; 'Call police' };
h = figure('Position',[200 100 268 120],'numbertitle','off','MenuBar','none');
defaultData = repmat( {'select main option...'} );
columnformat = { {selector{:}} };
t = uitable(h,'Units','normalized','Position',[0 0 1 1],...
'Data', defaultData,...
'ColumnFormat', columnformat,...
'CellEditCallback',@chooseOption);
end
function chooseOption(~,evt_edit)
%// evaluate callback and determine which option was chosen, call your function
end