【MATLAB】如何使用键盘回调以及在app设计中应用
程序员文章站
2022-05-11 22:27:15
...
整理时间:2020-06-28
关键词
键盘回调 、 app设计 、 MATLAB
目录:
1.抛转
2.引玉
3.深入
正文:
1.抛转
在实际使用中,我们可能会不断的点击鼠标来使用button控件,但是这个很麻烦也很累,我们如果能够直接在键盘上控制就好了,这样会方便很多。
那么,怎么做呢?
先从下面这个代码开始了解:
%测试键盘按键值
function key_test
clc
close all
%%
fig = figure(1);
spy;%显示matlab狗
set(fig,'windowkeypressfcn',@keypressfcn);
set(fig,'windowkeyreleasefcn',@keyreleasefcn);
function keypressfcn(h,evt)
disp('--------keypress------- ');
disp(evt.Key);
end
function keyreleasefcn(h,evt)
disp('-------keyrelease------- ');
disp(evt.Key);
end
end
运行结果如下:
请认真理解这段代码,这里做一个铺垫,后边会用到 它的设计思路与键盘返回值。
注: 此处参考文章:http://blog.sina.com.cn/s/blog_6163bdeb0100n9cq.html
2.引玉
言归正传,我们是要在我们的app中使用键盘回调,
比如:我要制作一个图片浏览工具,我不想通过鼠标去点击buttono控件,这样手累,我想通过键盘的左右键去控制,这样方便很多。
以下,我就根据这个应用说明在app中的应用。
% Window key press function: UIFigure
function UIFigureWindowKeyPress(app, event)
keyValue = event.Key;
StrArrayNew={['keyValue=',keyValue]};
logRefresh_func(app,StrArrayNew);
switch keyValue
case "space"
%暂停/播放
case "leftarrow"
%上一张
case "rightarrow"
%下一张
otherwise
end
end
运行整个APP,按不同的键盘按键,响应如下:
大功告成 !!!ok~
3.深入
WindowKeyPressFcn - 窗口按键回调
当用户在 UI 图窗或子组件具有焦点的情况下按下一个键时,将执行此回调函数。
KeyPressFcn - 按键回调
当用户在 UI 图窗或子组件具有焦点的情况下按下一个键时,将执行此回调函数。
在接受键盘焦点的组件(例如编辑字段)上按下一个键时不会执行回调,除非该组件被禁用。
您可以通过将 Enable 或 Editable 属性设置为 ‘off’ 来禁用组件。
特别提醒:
键盘操作前,
一定要确保button不被选中!!!
一定要把鼠标移开button等组件!!
THE END~
感谢您的阅读,更多新玩法,新技巧,请查阅我的专栏~~~