0

我有一个 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 函数会在另一个图中对文件名(我必须工作的东西)进行动画处理。

4

1 回答 1

2

您可以添加一个按钮来启动动画:

tb = uitoolbar(f);
uipushtool(tb,'ClickedCallback',@yourFunction);

或者,将 设置为'CellSelectionCallback'在选择时运行回调 - 搜索标签,您会发现很多示例如何做到这一点。

基本上:

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
于 2014-06-02T15:06:51.957 回答