Порядок вкладок MATLAB GUI

В моем текущем проекте у меня есть куча текстовых полей редактирования в моем графическом интерфейсе. Когда я/м в первом пустом текстовом поле и нажимаю клавишу табуляции, он переходит к третьему текстовому полю, когда я снова нажимаю табуляцию, он переходит ко второму полю. Каждый раз, когда я нажимаю вкладку, она прыгает в этом странном порядке. Я обнаружил, что порядок зависит от порядка функции обратного вызова для каждого текстового поля. Не копируя вставку и изменение кода, сгенерированного руководством, есть ли лучший способ упорядочить мои текстовые поля. Так, например, когда я нахожусь в поле красный x и нажимаю вкладку, я попадаю в поле красный z, затем красный y, затем зеленый x, а затем зеленый z. Я хочу иметь возможность щелкнуть красный крестик, а затем, используя только вкладку, пройти и заполнить другие блоки. Возможен ли вообще повторный заказ?

введите здесь описание изображения


person Maggick    schedule 25.03.2014    source источник


Ответы (1)


GUI, сгенерированный GUIDE

При использовании GUIDE вы можете просто использовать "Редактор порядка вкладок" . Добраться до него можно с помощью следующего пункта меню:

введите здесь описание изображения

Для этого простого графического интерфейса с одной кнопкой и двумя текстовыми полями вы увидите следующее диалоговое окно:

введите здесь описание изображения

Затем установите порядок табуляции, перемещая объекты пользовательского интерфейса вверх/вниз.


Программный графический интерфейс

Чтобы установить порядок табуляции программно можно использовать uistack, чтобы изменить порядок дескрипторов.

Например, чтобы переместить uicontrol "вверх" в порядке:

uistack(hui,'up',1)

Чтобы увидеть порядок дескрипторов всех элементов управления на рисунке hf:

ch = get(hf,'Children')
person chappjc    schedule 25.03.2014