通过调用imshow自定义工具栏消失

时间:2014-11-04 19:48:49

标签: matlab

我正在尝试在Matlab中创建一个简单的GUI脚本来显示一系列图像,其中一个工具栏提供与当前图像相关的基本功能。但我注意到调用“imshow”会导致图窗口中的自定义工具栏消失。知道如何改变行为,以便工具栏持续存在吗?或者不受“imshow”电话的影响?

相关代码是:

% create viewer window
win_viewer = figure('Visible', 'on', 'Name', 'Sample', ...
    'Position', [0 0 200 200], 'NumberTitle', 'off', 'Toolbar', ...
    'none', 'MenuBar', 'none', 'Resize', 'off', 'Color', ...
    [0 0 0]);

gui_toolbar = uitoolbar('Parent', win_viewer);

% add save button
icons = load('icons.mat');
gui_save = uipushtool('Parent', gui_toolbar, 'CData', icons.disk{1}, ...
    'ClickedCallback', {@cb_saveImage}, 'TooltipString', ...
    'Save Movie');

% create axes
win_axes = axes('Parent', win_viewer);
axis off;

% this is called multiple times
imshow(im, 'Parent', win_axes, 'Border', 'tight');
imshow(im, 'Parent', win_axes, 'Border', 'tight');

在“imshow”调用之前,工具栏会出现并按预期工作。但是,一旦显示图像,工具栏就会消失。

编辑:我刚刚玩了一下,只是随后调用“imshow”导致工具栏有点乱。我更新代码以进行两次调用以强调这一点。

1 个答案:

答案 0 :(得分:0)

在使用 imshow 之前,请尝试将工具栏的HandleVisibility属性设置为off

相关问题