补充1 MATLAB_GUI_通过普通按钮PushButton的回调函数ButtonDownFcn创建一个长按回调按钮


  注:该笔记是为了回答CSDN上的一位网友的评论,然后使用镜像ChatGPT询问得到思路、还有自己不断尝试MATLAB的各种函数从而记录的笔记,笔记来源于本人,属于 本人原创若有错误,欢迎在评论区里指出

一、实例效果

  如下图所示,运行程序后,鼠标刚右击按钮就进行回调,松开就通过一个函数让GUI恢复原样。
在这里插入图片描述

二、补充的知识点(两种回调函数)

  Callback函数:鼠标左击松开后进入函数中执行其中的代码。
  ButtonDownFcn函数:鼠标右击还未松开时进入该函数执行其中的代码。

三、步骤

  1. 先建一个空白的GUI。

在这里插入图片描述

  2.在GUI Figure 上添加一个按钮(PushButton)组件,并设置其属性,例如位置、大小和文本等。

在这里插入图片描述

  3.Ctr+S保存一下GUI。

在这里插入图片描述

  4.如下图所示,右键按钮创建一个ButtonDownFcn回调函数。

在这里插入图片描述

  5.根据需求,在按钮的回调函数ButtonDownFcn中添加代码。

在这里插入图片描述

% --- If Enable == 'on', executes on mouse press in 5 pixel border.
% --- Otherwise, executes on mouse press in 5 pixel border or over kj1.
function kj1_ButtonDownFcn(hObject, eventdata, handles)
% hObject    handle to kj1 (see GCBO)
% eventdata  reserved - to be defined in a future version of MATLAB
% handles    structure with handles and user data (see GUIDATA)

% ---------------------右击按钮的操作示例-------------------
% 获取按钮的原始颜色
handles.originalColor = get(hObject, 'BackgroundColor');
% 将按钮的颜色更改为红色
set(hObject, 'BackgroundColor', 'red');

% 添加鼠标松开事件的处理函数
set(gcf, 'WindowButtonUpFcn', {@buttonUp, hObject, handles});


% -----------执行松开按钮后的操作的函数---------------
function buttonUp(~, ~, hObject, handles)
% -----------------------定义松开按钮的操作-----------------
% 恢复按钮的原始颜色
set(hObject, 'BackgroundColor', handles.originalColor);
% 移除鼠标松开事件的处理函数
set(gcf, 'WindowButtonUpFcn', '');
% 恢复按钮的原始颜色
set(hObject, 'BackgroundColor', handles.originalColor);

  6.执行程序,查看效果

  如下图所示,运行程序后,鼠标刚右击按钮就进行回调,松开就通过一个函数让GUI恢复原样。
在这里插入图片描述
  本次笔记记录到此结束,谢谢大家支持。

  • 4
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

知乎云烟

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值