目录
- 一、实例效果
- 二、补充的知识点(两种回调函数)
- 三、步骤
- 1. 先建一个空白的GUI。
- 2.在GUI Figure 上添加一个按钮(PushButton)组件,并设置其属性,例如位置、大小和文本等。
- 3.Ctr+S保存一下GUI。
- 4.如下图所示,右键按钮创建一个回调函数(注:ButtonDownFcn能与鼠标进行交互)。
- 5.根据需求,在按钮的回调函数ButtonDownFcn中添加代码。
- 6.执行程序,查看效果
注:该笔记是为了回答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恢复原样。
本次笔记记录到此结束,谢谢大家支持。