how can we control push button in matlab gui by keyboard instead of mouse click?
16 次查看(过去 30 天)
显示 更早的评论
采纳的回答
Geoff Hayes
2015-2-22
heisenberg - if you are using GUIDE to create your GUI, then you could assign a WindowKeyPressFcn callback to your figure (GUI) and then, based on the key pressed while the figure has focus, you could call the appropriate button.
Suppose that your GUI/figure is named figure1 and you have one push button (named pushbutton1) that you wish to fire when you press the x key. Your callback to capture key presses could look something like
function figure1_WindowKeyPressFcn(hObject, eventdata, handles)
% determine the key that was pressed
keyPressed = eventdata.Key;
if strcmpi(keyPressed,'x')
% set focus to the button
uicontrol(handles.pushbutton1);
% call the callback
pushbutton1_Callback(handles.pushbutton1,[],handles);
end
In the above we check for when the x is pressed and then simulate the pressing of the button by calling the appropriate callback. You may not need to set focus to the button using uicontrol but I don't think that it hurts to do this as well.
5 个评论
Geoff Hayes
2015-2-24
Please post some of your code so that I can get an idea of what you have implemented.
更多回答(2 个)
Wajih Khan
2017-12-6
when I press a key it just types in the command window and nothing else happens... help
1 个评论
Geoff Hayes
2017-12-11
Wajih - please post this as a new question rather than as an answer. Include any relevant code.
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Migrate GUIDE Apps 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!