В моем текущем проекте у меня есть куча текстовых полей редактирования в моем графическом интерфейсе. Когда я/м в первом пустом текстовом поле и нажимаю клавишу табуляции, он переходит к третьему текстовому полю, когда я снова нажимаю табуляцию, он переходит ко второму полю. Каждый раз, когда я нажимаю вкладку, она прыгает в этом странном порядке. Я обнаружил, что порядок зависит от порядка функции обратного вызова для каждого текстового поля. Не копируя вставку и изменение кода, сгенерированного руководством, есть ли лучший способ упорядочить мои текстовые поля. Так, например, когда я нахожусь в поле красный x и нажимаю вкладку, я попадаю в поле красный z, затем красный y, затем зеленый x, а затем зеленый z. Я хочу иметь возможность щелкнуть красный крестик, а затем, используя только вкладку, пройти и заполнить другие блоки. Возможен ли вообще повторный заказ?
Порядок вкладок MATLAB GUI
Ответы (1)
GUI, сгенерированный GUIDE
При использовании GUIDE вы можете просто использовать "Редактор порядка вкладок" а>. Добраться до него можно с помощью следующего пункта меню:
Для этого простого графического интерфейса с одной кнопкой и двумя текстовыми полями вы увидите следующее диалоговое окно:
Затем установите порядок табуляции, перемещая объекты пользовательского интерфейса вверх/вниз.
Программный графический интерфейс
Чтобы установить порядок табуляции программно можно использовать uistack
, чтобы изменить порядок дескрипторов.
Например, чтобы переместить uicontrol
"вверх" в порядке:
uistack(hui,'up',1)
Чтобы увидеть порядок дескрипторов всех элементов управления на рисунке hf
:
ch = get(hf,'Children')
person
chappjc
schedule
25.03.2014