Как сделать интерфейс в матлабе
Документация
Создание простого приложения Используя GUIDE
Примечание
Чтобы продолжить редактировать существующее приложение GUIDE, см. Стратегии Миграции GUIDE информации о том, как помочь обеспечить совместимость приложения с будущими релизами MATLAB. Чтобы создать новые приложения в интерактивном режиме, Разработайте Приложения Используя App Designer вместо этого.
В этом примере показано, как использовать GUIDE, чтобы создать приложение, которое имеет простой пользовательский интерфейс (пользовательский интерфейс), такое как показанное здесь.
Последующие разделы проводят вас по процессу создавания этого приложения.
Если вы только хотите просмотреть и запустить код, который создал это приложение, установите свою текущую папку на одну, к которой у вас есть доступ для записи. Скопируйте пример кода и откройте его в Редакторе путем издания следующих команд MATLAB:
Открытие нового пользовательского интерфейса в редакторе компоновки GUIDE
ИНСТРУКЦИЯ путем ввода guide в подсказке MATLAB.
В диалоговом окне GUIDE Quick Start выберите шаблон Blank GUI (Default), и затем нажмите OK.
Отобразите имена компонентов в палитре элементов:
Выберите Show names in component palette.
Установка размера окна в GUIDE
Установите размер окна путем изменения размеров области сетки в Редакторе макетов. Кликните по нижнему правому углу и перетащите его, пока холст не будет приблизительно 3 дюйма высотой и 4 дюйма шириной. При необходимости сделайте холст больше.
Размещение пользовательский интерфейс
Добавьте, выровняйте и пометьте компоненты в пользовательском интерфейсе.
Добавьте эти три кнопки в пользовательский интерфейс. Выберите инструмент кнопки из палитры элементов в левой стороне Редактора макетов и перетащите его в область размещения. Создайте три кнопки, расположив их приблизительно как показано в следующем рисунке.
Добавьте остающиеся компоненты в пользовательский интерфейс.
Область статического текста
Расположите компоненты как показано в следующем рисунке. Измените размер компонента осей приблизительно к дюймам 2 на 2.
Выравнивание компонентов
Если несколько компонентов имеют тот же родительский элемент, можно использовать Инструмент Выравнивания, чтобы выровнять их друг другу. Выровнять эти три кнопки:
Выберите все три кнопки путем нажатия Ctrl и нажатия на них.
Выберите Tools> Align Objects.
Установите эти настройки в Инструменте Выравнивания:
Выровненный по левому краю в горизонтальном направлении.
Интервал 20 пикселей между кнопками в вертикальном направлении.
Маркировка кнопок
Каждая из этих трех кнопок задает тип графика: surf, mesh и контур. Этот раздел показывает вам, как пометить кнопки теми опциями.
Выберите View> Property Inspector.
В области размещения кликните по главной кнопке.
Нажмите клавишу Enter. Метка кнопки превращается в Surf.
Кликните по каждой из остающихся кнопок в свою очередь и повторных шагов 3 и 4. Пометьте среднюю кнопку Mesh и нижнюю кнопку Contour.
Листинг элементов всплывающего меню
Всплывающее меню обеспечивает выбор трех наборов данных: peaks, мембрана и sinc. Эти наборы данных соответствуют функциям MATLAB того же имени. Этот раздел показывает вам, как перечислить те наборы данных как выбор в поп-меню.
В области размещения кликните по всплывающему меню.
Замените существующий текст на имена этих трех наборов данных: peaks, мембрана и sinc. Нажмите Enter, чтобы переместиться в следующую строку.
Когда вы закончите редактировать элементы, нажмите OK.
Изменение статического текста
В области размещения кликните по статическому тексту.
Фраза Select Data появляется в компоненте статического текста выше всплывающего меню.
Сохранение размещения
Сохраните и запустите свою программу путем выбора Tools> Run.
GUIDE отображает отображение диалогового окна: “Активация сохранит изменения в вашем файле фигуры и коде MATLAB. Вы хотите продолжить?
GUIDE открывает диалоговое окно Save As в вашей текущей папке и предлагает вам ИМЯ ФАЙЛА FIG.
Просмотрите к любой папке, для которой вы имеете привилегии записи, и затем вводите имя файла simple_gui для файла FIG. GUIDE сохраняет и файл FIG и файл кода с помощью этого имени.
Если папка, в которой вы сохранили файлы, не находится на пути MATLAB, GUIDE открывает диалоговое окно, которое позволяет вам изменять текущую папку.
Приложение открывается в новом окне. Заметьте, что окно испытывает недостаток в панели стандартного меню и панели инструментов то отображение окон фигуры MATLAB. Можно добавить собственные меню и кнопки на панели инструментов с GUIDE, но по умолчанию приложение GUIDE не включает ни один из этих компонентов.
Чтобы запустить приложение, созданное с GUIDE без вводного GUIDE, выполните его файл кода путем введения его имени.
Примечание
Не пытайтесь запустить свое приложение путем открытия его файла FIG за пределами GUIDE. Если вы делаете так, фигура открывается и кажется готовой использовать, но пользовательский интерфейс не инициализирует, и коллбэки не функционируют.
Кодирование поведения приложения
Генерация данных, чтобы построить график
Отобразите вводную функцию в редакторе MATLAB.
Если файл simple_gui.m не уже открыто в редакторе, открыт из Редактора макетов путем выбора View> Editor.
Курсор перемещается во вводную функцию, которая содержит этот код:
Создайте данные, чтобы построить путем добавления следующего кода во вводную функцию сразу после комментария, который начинает % varargin.
Последние две линии создают текущее значение данных и устанавливают его на peaks, и затем отображают график surf для peaks. Следующий рисунок показывает, как приложение выглядит, когда оно сначала отображается.
Поведение всплывающего меню кода
Всплывающее меню представляет опции для того, чтобы отобразить данные на графике. Когда пользователь выбирает один из трех графиков, программное обеспечение MATLAB устанавливает всплывающее меню Value свойство в индекс выбранного пункта меню. Коллбэк всплывающего меню читает всплывающее меню Value свойство определить элемент, который меню в настоящее время отображает и устанавливает handles.current_data соответственно.
Отобразите коллбэк всплывающего меню в редакторе MATLAB. В Редакторе Компоновки GUIDE щелкните правой кнопкой по компоненту всплывающего меню, и затем выберите View Callbacks> Callback.
GUIDE отображает файл кода в Редакторе и перемещает курсор в коллбэк поп-меню, который содержит этот код:
Добавьте следующий код в popupmenu1_Callback после комментария, который начинает % handles.
Этот код сначала получает два свойства всплывающего меню:
String — массив ячеек, который содержит содержимое меню
Value — индекс в содержимое меню выбранного набора данных
Код затем использует switch оператор, чтобы сделать выбранный набор данных текущими данными. Последний оператор сохраняет изменения в handles структура.
Поведение кнопки кода
Каждая из кнопок создает другой тип графика с помощью данных, заданных текущим выбором во всплывающем меню. Коллбэки кнопки получают данные из handles структура и затем строит его.
Отобразите коллбэк кнопки Surf в редакторе MATLAB. В Редакторе макетов щелкните правой кнопкой по кнопке Surf, и затем выберите View Callbacks> Callback.
В Редакторе курсор перемещается в коллбэк кнопки Surf в файле кода, который содержит этот код:
Добавьте следующий код в коллбэк сразу после комментария, который начинает % handles.
Повторите шаги 1 и 2, чтобы добавить подобный код в коллбэки кнопки Mesh и Contour.
Добавьте этот код в коллбэк кнопки Mesh, pushbutton2_Callback :
Добавьте этот код в коллбэк кнопки Contour, pushbutton3_Callback :
Сохраните свой код путем выбора File> Save.
Выполнение приложения
В Коде Поведение Приложения вы запрограммировали всплывающее меню и кнопки. Вы также создали данные для них, чтобы использовать и инициализировали отображение. Теперь можно запустить программу, чтобы видеть, как она работает.
Запустите свою программу из Редактора макетов путем выбора Tools> Run.
Попробуйте другие комбинации прежде, чем закрыть окно.
Документация
Примечание
Эта тема применяется к приложениям, создаваемым программно с помощью figure функция. Для альтернативных способов создать приложения, смотрите Способы Создать Приложения.
В этом примере показано, как создать простое приложение программно, такое как показанное здесь.
Последующие разделы проводят вас по процессу создавания этого приложения.
Если вы предпочитаете просматривать и запускать код, который создал это приложение, не создавая его, установите свою текущую папку на одну, к которой у вас есть доступ для записи. Скопируйте пример кода и откройте его в Редакторе путем выдачи следующих команд MATLAB ® :
Создание файла кода
Создайте файл функции (в противоположность script file, который содержит последовательность команд MATLAB, но не задает функции).
Введите следующий оператор в первой линии Редактора.
После функционального оператора введите эти комментарии, заканчивающиеся пустой строкой. (Комментарии отображаются в командной строке в ответ на help команда.)
В конце файла, после пустой строки, добавляет end оператор. Этот end оператор требуется, потому что пример использует вложенные функции. Чтобы узнать больше, смотрите Вложенные функции.
Сохраните файл в своей текущей папке или в местоположении, которое находится на вашем пути MATLAB.
Создание Окна фигуры
Чтобы создать контейнер для пользовательского интерфейса (UI) вашего приложения, добавьте следующий код перед end оператор в вашем файле:
Вызов figure функция создает традиционную фигуру и устанавливает следующие свойства:
Visible свойство установлено в ‘off’ чтобы сделать окно невидимым как, компоненты добавляются или инициализируются. Окно становится видимым, когда пользовательский интерфейс имеет все свои компоненты и инициализируется.
Position свойство установлено в четырехэлементный вектор, который задает местоположение пользовательского интерфейса на экране и его размере: [расстояние от левого, расстояние от нижней части, ширины, высота]. Модули по умолчанию являются пикселями.
Добавление компонентов к пользовательскому интерфейсу
Создайте кнопки, статический текст, всплывающее меню и компоненты осей к пользовательскому интерфейсу.
Каждый оператор использует серию uicontrol пары свойства/значения, чтобы задать кнопку:
Style свойство указывает что uicontrol кнопка.
Position свойство задает местоположение и размер каждой кнопки: [расстояние от левого, расстояние от нижней части, ширины, высота]. Модули по умолчанию для кнопок являются пикселями.
Каждый uicontrol вызовите возвращает указатель созданной кнопки.
Добавьте всплывающее меню и текстовую метку путем добавления этих операторов в файл кода после определений кнопки. Первый оператор создает метку. Второй оператор создает всплывающее меню.
Текстовый компонент, String свойство задает инструкции для пользователя.
Для обоих компонентов, Position свойство задает размер и местоположение каждого компонента: [расстояние от левого, расстояние от нижней части, ширины, высота]. Модули по умолчанию для этих компонентов являются пикселями.
Добавьте оси путем добавления этого оператора в файл кода.
Units свойство задает пиксели так, чтобы оси имели те же модули как другие компоненты.
После всех определений компонента добавьте эту линию на файл кода, чтобы выровнять все компоненты, кроме осей, вдоль их центров.
Добавьте эту команду после align команда.
Ваш файл кода должен выглядеть так:
Запустите свой код путем ввода simple_gui2 в командной строке. Можно выбрать набор данных во всплывающем меню и кликнуть по кнопкам, но ничего не происходит. Это вызвано тем, что нет никакого кода коллбэка в файле, чтобы обслужить всплывающее меню или кнопки.
Закодируйте поведение приложения
Программирование всплывающего меню
Всплывающее меню позволяет пользователям выбрать данные, чтобы построить. Когда пользователь выбирает один из этих трех наборов данных во всплывающем меню, программное обеспечение MATLAB устанавливает всплывающее меню Value свойство в индекс выбранного пункта меню. Коллбэк всплывающего меню читает всплывающее меню Value свойство определить, какой элемент в настоящее время отображен и устанавливает current_data соответственно.
Добавьте следующий коллбэк в свой файл в соответствии с кодом инициализации и перед итоговым end оператор.
Программирование кнопок
Добавьте следующие коллбэки в свой файл после коллбэка всплывающего меню и перед итоговым end оператор.
Программирование обратных вызовов
Когда пользователь выбирает набор данных из всплывающего меню или кликает по одной из кнопок, программное обеспечение MATLAB выполняет коллбэк, сопоставленный с тем конкретным событием. Используйте Callback каждого компонента свойство задать имя коллбэка, с которым сопоставлено каждое событие.
К uicontrol оператор, который задает кнопку Surf, добавляет пару свойства/значения
так, чтобы оператор выглядел так:
Callback имя свойства. surfbutton_Callback имя коллбэка, который обслуживает кнопку Surf.
К uicontrol оператор, который задает кнопку Mesh, добавляет пару свойства/значения
К uicontrol оператор, который задает кнопку Contour, добавляет пару свойства/значения
К uicontrol оператор, который задает всплывающее меню, добавляет пару свойства/значения
Инициализация пользовательского интерфейса
Замените этот код в редакторе:
Проверка кода и выполнение приложения
Убедитесь, что ваш код появляется, как он должен, и затем запускать его.
Проверьте, что ваш файл кода выглядит так:
Запустите свое приложение путем ввода simple_gui2 в командной строке. Код инициализации заставляет его отображать значение по умолчанию peaks данные с surf функция, заставляя пользовательский интерфейс выглядеть так.
Попробуйте другие комбинации прежде, чем закрыть пользовательский интерфейс.
Введите help simple_gui2 в командной строке. Программное обеспечение MATLAB отображает текст справки.
Похожие темы
Документация MATLAB
Поддержка
© 1994-2020 The MathWorks, Inc.
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.
Документация
Опции GUIDE
Примечание
Чтобы продолжить редактировать существующее приложение GUIDE, см. Стратегии Миграции GUIDE информации о том, как помочь обеспечить совместимость приложения с будущими релизами MATLAB. Чтобы создать новые приложения в интерактивном режиме, Разработайте Приложения Используя App Designer вместо этого.
Диалоговое окно Опций графического интерфейса пользователя
Доступ к диалоговому окну из Редактора Компоновки GUIDE путем выбора Tools> GUI Options. Опции, которые вы выбираете, вступают в силу в следующий раз, когда вы сохраняете свой пользовательский интерфейс.
Поведение при изменении размера
Можно управлять, могут ли пользователи изменить размер окна и как MATLAB обрабатывает изменение размеров. GUIDE предоставляет три возможности:
Неизменяемого размера — Пользователи не могут изменить размер окна (значение по умолчанию).
Пропорциональный — программное обеспечение автоматически масштабирует компоненты в пользовательском интерфейсе пропорционально новому размеру окна рисунка.
Другой (Использование SizeChangedFcn) — Программируют пользовательский интерфейс, чтобы вести себя определенным способом, когда пользователи изменяют размер окна рисунка.
Первые два набора опций изображают и свойства компонентов соответственно и не требуют никакого другого действия. Другой (Использование SizeChangedFcn) требует, чтобы вы записали стандартную программу коллбэка, которая повторно вычисляет размеры и положения компонентов на основе нового размера фигуры.
Доступность командной строки
Можно ограничить доступ к окну рисунка из командной строки или из файла кода с опциями доступности Командной строки GUIDE.
set(groot,’CurrentFigure’,h) — Делает фигуру h текущий, но не изменяет его видимость или складывающий относительно других фигур
figure(h) — Делает фигуру h текущий, видимый, и отображенный сверху других фигур
axes(h) — Делает существующие оси h текущая система координат и отображения фигура, содержащая его сверху других фигур
gcf функция возвращает указатель текущей фигуры.
Коллбэк (графический интерфейс пользователя становится Текущей фигурой в Коллбэках),
К пользовательскому интерфейсу можно получить доступ только из коллбэка. К пользовательскому интерфейсу нельзя получить доступ из командной строки или из скрипта. Это значение по умолчанию.
Прочь (графический интерфейс пользователя никогда не становится Текущей фигурой),
К пользовательскому интерфейсу нельзя получить доступ от коллбэка, командной строки или скрипта, без указателя.
На (графический интерфейс пользователя может стать Текущей фигурой из Командной строки),
К пользовательскому интерфейсу можно получить доступ от коллбэка из командной строки, и из скрипта.
Другой (Используют настройки от Property Inspector),
Вы управляете доступностью путем установки HandleVisibility и IntegerHandle свойства от Property Inspector.
Генерация Файла FIG и файла MATLAB
Смотрите Файлы, Сгенерированные GUIDE для получения информации об этих файлах.
Генерация прототипов функции обратного вызова
Если вы выбираете прототипы функции обратного вызова Generate в диалоговом окне Опций графического интерфейса пользователя, GUIDE добавляет шаблоны для обычно используемых коллбэков к файлу кода для большинства компонентов. Необходимо затем ввести код в эти шаблоны.
GUIDE также добавляет коллбэк каждый раз, когда вы редактируете стандартную программу коллбэка из контекстного меню щелчка правой кнопкой Редактора макетов и когда вы добавляете меню в пользовательский интерфейс с помощью Редактора меню.
Смотрите Запись обратных вызовов в GUIDE для получения общей информации о коллбэках.
Примечание
Эта опция доступна, только если вы сначала выбираете опция файла MATLAB и Generate FIG-file.
Графический интерфейс пользователя позволяет только Одному экземпляру запускаться (Singleton)
Эта опция позволяет вам выбирать между двумя поведениями для окна рисунка:
Позвольте программному обеспечению MATLAB отображать только один экземпляр пользовательского интерфейса за один раз.
Позвольте программному обеспечению MATLAB отображать несколько экземпляров пользовательского интерфейса.
Если вы позволяете только один экземпляр, программное обеспечение снова использует существующую фигуру каждый раз, когда команда, чтобы запустить вашу программу выполняется. Если окно UI уже существует, программное обеспечение приносит его к переднему плану вместо того, чтобы создать новую фигуру.
Если вы очищаете эту опцию, программное обеспечение создает новую фигуру каждый раз, когда вы даете команду, чтобы запустить программу.
Примечание
Эта опция доступна, только если вы сначала выбираете опция файла MATLAB и Generate FIG-file.
Использование системной цветовой схемы для фона
Цвет по умолчанию, используемый для компонентов пользовательского интерфейса, системно-зависим. Эта опция позволяет вам сделать цвет фона фигуры тем же самым как цвет фона компонента по умолчанию.
Чтобы гарантировать, что фон фигуры совпадает с цветом компонентов, выберите системную цветовую схему Use для знаний в диалоговом окне Опций графического интерфейса пользователя.
Примечание
Эта опция доступна, только если вы сначала выбираете опция файла MATLAB и Generate FIG-file.
Генерация Файла FIG только
Сгенерировать файл FIG только опция позволяет вам открыть фигуры и UIs, чтобы выполнить ограниченное редактирование. Они могут быть любыми фигурами и не должны быть UIs. UIs не должен быть сгенерирован с помощью GUIDE. Этот режим предусматривает ограниченную возможность редактирования и может быть полезен для UIs, сгенерированного в Версиях MATLAB 5.3 и ранее. Смотрите guide функция для получения дополнительной информации.
GUIDE выбирает Generate FIG-file только как значение по умолчанию, если вы выполняете одно из следующих действий:
ИНСТРУКЦИЯ из командной строки путем обеспечения одного или нескольких объектов фигуры в качестве аргументов.
В этом случае GUIDE выбирает Generate FIG-file только, даже когда файл кода с соответствующим именем существует в той же папке.
ИНСТРУКЦИЯ из командной строки и обеспечивает имя файла FIG, для которого никакой файл кода с тем же именем не существует в той же папке.
Используйте вкладку GUIDE Open Existing GUI, чтобы открыть файл FIG, для которого никакой файл кода с тем же именем не существует в той же папке.
Когда вы сохраняете фигуру, или пользовательский интерфейс с Генерируют файл FIG, только выбранный, GUIDE сохраняет только файл FIG. Необходимо обновить любые соответствующие файлы кода сами, как соответствующие.
Если вы хотите, чтобы GUIDE управлял файлом кода пользовательского интерфейса для вас, изменил выбор, чтобы Сгенерировать файл FIG и файл MATLAB прежде, чем сохранить пользовательский интерфейс. Если нет никакого соответствующего файла кода в том же месте, GUIDE создает тот. Если файл кода с тем же именем как исходная фигура или пользовательский интерфейс существует в той же папке, GUIDE перезаписывает его. Чтобы предотвратить перезапись существующего файла, сохраните пользовательский интерфейс с помощью Save As в меню File. Выберите другое имя файла для этих двух файлов. GUIDE обновляет имена переменных в новом файле кода как соответствующие.
Обратные вызовы для UIs без кода
Даже когда нет никакого файла кода, сопоставленного с файлом FIG пользовательского интерфейса, можно все еще обеспечить коллбэки для компонентов пользовательского интерфейса, чтобы заставить их выполнить действия, когда используется. В Property Inspector можно ввести коллбэки в форме векторов символов, встроенных функций или имен файлов кода MATLAB; когда ваша программа запустится, она выполнит их, если это возможно. Если коллбэк является именем файла, он может включать аргументы в эту функцию. Например, установка Callback свойство кнопки к sqrt(2) вызывает результат выражения отобразиться в Командном окне: