2013-07-08 4 views
1

У меня есть кнопка в графическом интерфейсе. который пользователь нажимает для выполнения обратного вызова. Но я хотел бы, чтобы пользователь мог нажать клавишу со стрелкой вверх, а не нажимать для выполнения обратного вызова.MATLAB GUI Button with Keyboard Control

EDIT: Я использую GUIDE, чтобы сделать графический интерфейс пользователя

ответ

3

Проверьте эту тему:

http://www.mathworks.com/matlabcentral/answers/12034

Просто слегка изменив код оттуда сюда (поместите в файл с именем testGUI.m

function testGUI 
g = figure('KeyPressFcn', @keyPress) 
MyButton = uicontrol('Style', 'pushbutton','Callback',@task); 

    function task(src, e) 
     disp('button press'); 
    end 

    function keyPress(src, e) 
     switch e.Key 
      case 'uparrow' 
       task(MyButton, []); 
     end 
    end 
end 
+0

Но как определить клавишу со стрелкой вверх? – Chandough

+0

Я отредактировал свой ответ так, чтобы он выполнил обратный вызов на 'upa rrow 'вместо' c '. Если вы хотите знать, что такое «e.Key» для любого ключа на вашей клавиатуре, просто поставьте точку останова в строке «switch e.Key», а затем запустите код, нажмите клавишу, которую вы хотите использовать, а затем проверьте, что .Key 'для ключа, который вы нажали. – kitchenette