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

目录

  • 一、实例效果
  • 二、补充的知识点(两种回调函数)
  • 三、步骤
    •   1. 先建一个空白的GUI。
    •   2.在GUI Figure 上添加一个按钮(PushButton)组件,并设置其属性,例如位置、大小和文本等。
    •   3.Ctr+S保存一下GUI。
    •   4.如下图所示,右键按钮创建一个ButtonDownFcn回调函数。
    •   5.根据需求,在按钮的回调函数ButtonDownFcn中添加代码。
    •   6.执行程序,查看效果

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

一、实例效果

  如下图所示,运行程序后,鼠标刚右击按钮就进行回调,松开就通过一个函数让GUI恢复原样。
补充1 MATLAB_GUI_通过普通按钮PushButton的回调函数ButtonDownFcn创建一个长按回调按钮_第1张图片

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

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

三、步骤

  1. 先建一个空白的GUI。

补充1 MATLAB_GUI_通过普通按钮PushButton的回调函数ButtonDownFcn创建一个长按回调按钮_第2张图片

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

补充1 MATLAB_GUI_通过普通按钮PushButton的回调函数ButtonDownFcn创建一个长按回调按钮_第3张图片

  3.Ctr+S保存一下GUI。

补充1 MATLAB_GUI_通过普通按钮PushButton的回调函数ButtonDownFcn创建一个长按回调按钮_第4张图片

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

补充1 MATLAB_GUI_通过普通按钮PushButton的回调函数ButtonDownFcn创建一个长按回调按钮_第5张图片

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

补充1 MATLAB_GUI_通过普通按钮PushButton的回调函数ButtonDownFcn创建一个长按回调按钮_第6张图片

% --- 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恢复原样。
补充1 MATLAB_GUI_通过普通按钮PushButton的回调函数ButtonDownFcn创建一个长按回调按钮_第7张图片
  本次笔记记录到此结束,谢谢大家支持。

你可能感兴趣的:(MATLAB_GUI,matlab,笔记)