您的位置:首页 > 编程语言 > MATLAB

matlab gui 按钮快捷键设置

2016-01-25 15:01 791 查看
何大神之前做的pascal的gui,在同一张图片上多次添加的时候,都需要点击“添加”按钮,有点麻烦。

于是,在原有功能上,给“添加”按钮增加一个快捷键。

之前的代码:

function onClickAddGt(~, ~)
if (isempty(currentImage))
errordlg('当前图片为空','无法添加标注');
return;
end
% 设置当前坐标轴
axes(currentImageAxes);
[x, y] = ginputc(2, 'Color', 'r', 'LineWidth', 1);
% 计算外接矩形框
bbs(1) = min(floor(x(1)), floor(x(2))); %xmin
bbs(2) = min(floor(y(1)), floor(y(2))); %ymin
bbs(3) = max(ceil(x(1)), ceil(x(2)));   %xmax
bbs(4) = max(ceil(y(1)), ceil(y(2)));   %ymax
obj = PASemptyobject();
obj.bbox = bbs;

if (bbs(4) - bbs(2) <= 5 || bbs(3) - bbs(1) <= 5)
errordlg('标注框长和宽必须大于5个像素','无效的标注框');
return;
end
currentGt.objects = [currentGt.objects; obj];
updateImageAndGt();
end
set(btnAddGt, 'Callback', @onClickAddGt);


只需要添加快捷键部分就可以了(快捷键取add的首字母'a'):

set(gcf,'KeyPressFcn', @kpf);
function kpf(~, ~)
key = get(gcf, 'currentcharacter');
switch key
case 'a'
onClickAddGt;
end
end


ok。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: