MATLAB GUI 通过点击控件关闭figure

在相应控件的callback函数的最后添加:

close(handles.figure1);%关闭Tag为figure1的figure

若出现报警:

??? Attempt to reference field of non-structure array.

则是在调用OutputFcn之前就把figure对象删除了而出现的报警,解决办法如下:

1. 重载figure的CloseRequestFcn函数,把其中的delete(hObject)代码去掉,添加uiresume代码;

2. 在OutputFcn函数的最后添加:delete(handles.figure1);

  • 4
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
Matlab GUIFigure Toolbar 提供了一些方便的工具,可以帮助你查看和处理图像数据。在 Matlab GUI 中,你可以通过以下步骤来使用 Figure Toolbar: 1. 在 GUI 中添加一个图像件,例如 "axes" 件。 2. 在 GUI 中添加一个按钮或菜单项,用于打开 Figure Toolbar。 3. 在按钮或菜单项的回调函数中,使用 "figure" 函数来获取当前 Figure 窗口的句柄,然后使用 "uitoolbar" 函数来添加 Figure Toolbar。 下面是一个简单的示例代码,演示了如何在 Matlab GUI 中使用 Figure Toolbar: ```matlab function myGUI % 创建 GUI 窗口和图像件 hFig = figure('MenuBar','none','ToolBar','none','Position',[100 100 400 300]); hAx = axes('Parent',hFig,'Position',[0.1 0.1 0.8 0.8]); % 创建菜单项和对应的回调函数 hMenu = uimenu('Label','View'); uimenu(hMenu,'Label','Show Toolbar','Callback',@showToolbar); % 回调函数,用于打开 Figure Toolbar function showToolbar(~,~) % 获取当前 Figure 窗口的句柄 hFig = gcf; % 创建 Figure Toolbar hToolbar = uitoolbar(hFig); % 添加放大、缩小、旋转等工具 hZoomIn = uitoolfactory(hToolbar,'Exploration.ZoomIn'); hZoomOut = uitoolfactory(hToolbar,'Exploration.ZoomOut'); hPan = uitoolfactory(hToolbar,'Exploration.Pan'); hRotate = uitoolfactory(hToolbar,'Exploration.Rotate'); % 添加数据光标和数据提示工具 hDataCursor = datacursormode(hFig); hDataTip = uitoolfactory(hToolbar,'Exploration.DataCursor'); % 添加其他自定义工具 % ... % 调整 Figure 窗口大小,以适应 Figure Toolbar pos = get(hFig,'Position'); set(hFig,'Position',[pos(1:2) pos(3:4)+[0 40]]); end end ``` 在这个示例代码中,我们创建了一个简单的 GUI 窗口和一个图像件。然后,我们添加了一个菜单项 "Show Toolbar",用于打开 Figure Toolbar。在回调函数 "showToolbar" 中,我们使用 "uitoolbar" 函数来创建 Figure Toolbar,并添加了一些常用工具和数据光标、数据提示工具。最后,我们调整了 Figure 窗口的大小,以适应 Figure Toolbar。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值