2

我正在尝试将图标放在按钮中,并且正在使用 GUI GUIDE。

iconeditor我尝试从 Matlab 图标路径导入文件但它不起作用。

然后我尝试像这样对按钮进行编程

function toolbar_OPT_ClickedCallback(hObject, eventdata, handles)
% hObject    handle to toolbar_Print (see GCBO)
% eventdata  reserved - to be defined in a future version of MATLAB
% handles    structure with handles and user data (see GUIDATA)

  % Use a MATLAB icon for the tool
  [X, map] = imread(fullfile(matlabroot,'toolbox','matlab','icons','matlabicon.gif'));

  % Convert indexed image and colormap to truecolor
  icon = ind2rgb(X,map);

  % Create a uipushtool in the toolbar
  hpt = uipushtool('CData',icon)

但它还没有工作。有什么建议吗?

4

1 回答 1

2

如我所见,您必须对其进行转换,并且您正在这样做...

但是缺少一个参数:

您需要将工具栏的句柄添加为第一个参数:

hpt = uipushtool(ht,'CData',icon,...

在您的情况下,您必须在句柄结构中寻找它。让我知道,如果你不知道如何得到这个!

编辑

可以在 Yair 的博客“undocumented Matlab”中找到更多用于修改工具栏的高级功能:

图形工具栏组件

特别是对于您的问题,这可能很有趣:

图形工具栏自定义

我强烈推荐 Yair Altman 的博客!!

编辑#2

使用 GUIDE 时,您的工具栏会自动创建,并且似乎很难访问其参数。我无法完全测试它,我只是尝试通过以下方式识别工具栏句柄:

hToolbarTogg = findall(gcf,'tag','uitoggletool1');
set(hToolbarTogg,'CData',icon)

当使用 GUIDE 创建时,您必须找出工具栏切换的标签是什么,这应该是相同的...

于 2013-08-09T09:42:27.857 回答