matlab gui stop,MATLAB GUI停止按钮问题

编辑:我改写了一下我的问题,因为我现在对问题有了更好的理解,第一稿中有很多不必要的信息。MATLAB GUI停止按钮问题

我正在创建一个独立的MATLAB应用程序,它需要一个可以启动和停止循环脚本的切换按钮。

在此基础上helpful video,我能够实现我的gui.m文件这样的想法是这样的:

function startBtn_Callback(hObject, eventdata, handles)

if get(handles.startBtn,'Value')

set(handles.startBtn,'String','Stop Recording');

else

set(handles.startBtn,'String','Start Recording');

end

while get(handles.startBtn,'Value');

disp('looping..');

pause(.5);

end

这个脚本工作正常,但是当我更换while循环功能的内容我想循环,按钮停止工作。它在我按下时仍然会切换,但只有在第一次按下按钮时才会调用回调。这是我的最终代码的样子:

function startBtn_Callback(hObject, eventdata, handles)

if get(handles.startBtn,'Value')

set(handles.startBtn,'String','Stop Recording');

pause(.1);

else

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
MATLAB GUI 中设置一个停止程序运行按钮,可以使用 "uicontrol" 函数创建一个按钮控件,然后将其回调函数设置为停止程序运行的函数。下面是一个简单的示例: 1. 在 MATLAB GUI 设计界面中,添加一个 "Push Button" 组件,并将其 Tag 属性设置为 "stop_button"。 2. 在 GUI 的 "OpeningFcn" 回调函数中获取该按钮的句柄,并将其回调函数设置为停止程序运行的函数。 ```matlab function mygui_OpeningFcn(hObject, eventdata, handles, varargin) % hObject handle to figure % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) % varargin command line arguments to mygui (see VARARGIN) % Get handle to stop button handles.stop_button = findobj('Tag', 'stop_button'); % Set callback function for stop button set(handles.stop_button, 'Callback', @stop_callback); % Update handles structure guidata(hObject, handles); % --- Executes on button press in stop_button. function stop_callback(hObject, eventdata) % hObject handle to stop_button (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % Stop program execution (e.g. using a flag variable) stop_execution = true; ``` 在上面的示例中,"findobj" 函数用于获取 "stop_button" 组件的句柄,然后使用 "set" 函数将其回调函数设置为 "stop_callback" 函数。"stop_callback" 函数可以在用户点击该按钮时被调用,该函数可以执行程序停止的操作(例如设置一个标志变量)。注意,在使用 "guidata" 函数将 "handles" 结构体保存回 GUI 句柄之前,需要在 "OpeningFcn" 回调函数中先更新该结构体中的 "stop_button" 字段。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值