У MATLAB существует целых два инструмента для создания GUI-приложений.

Первый из них это GUIDE, в этом инструмента присутствует самый минимальный набор компонентов (кнопки, переключатели, текстовые и графические поля) и нет возможности компилировать приложения.

Для вызова инструмента GUIDE нужно вызвать следующую команду:

в результате выполнения данной команды откроется окно в котором можно выбрать пустое окно для создания приложения или один из шаблонов для редактирования

В рамках данной статьи будем создавать приложение с нуля и из списка выбираем первый пункт

Для создания приложения в GUIDE существует следующие компоненты:

1) кнопка

2) cлайдер

3) радиокнопка

4) переключатель

5) поле для ввода текста

6) поле для отображения текста

7) ниспадающее меню

8) список

9) кнопка тумблер

10) таблица

11) поле для построения графика

12) панель для радиокнопок (чтобы можно было выбрать только одну)

13) элемент ActiveX функциональность которого зависит от установленных на ПК приложений

Далее используя некоторые из указанных элементов создам простое приложение для демонстрации работы.

Данное приложение предназначено для вычисления площади под кривой. Для вычисления необходимо задать функцию и границы участка интегрирования. Данное GUI приложение можно скачать по ссылке.

Валерий Гольцев

Автор. https://vk.com/elteh_helper

Комментарии (4)


  1. svboobnov
    21.10.2022 11:55

    В Scilab тоже есть возможность сделать GUI:

    https://www.scilab.org/how-to-develop-a-graphical-user-interface

    Рекомендую сей инструмент.


  1. mctMaks
    21.10.2022 13:51
    +1

    в матлаб использование guide уже не рекомендуется, так как в новых версиях используется appDeisgner. Элементов больше, они имеют определенную стилизацию. Не скажу что написание кода становится существенно проще, но определенные упрощения есть. Писать было поприятнее. Но в отличие от guide все описывается в одном файле и графические объекты, и код взаимодействия.

    Делал программку тестирования устройства с wifi на борту, выглядит примерно так:

    В guide делал приложение управление BLE устройством через usb-ble мост для получения и отображения данных на экране. в целом работало хорошо и в реальном времени, можно было раскидать по отдельным файлам функции. получается что типа Qt,но с меньшими возможностями по кастомизации.

    давно было, сейчас немного поплыло при открытии в новой версии


  1. green_fr
    21.10.2022 19:05

    Я на guide забил очень быстро, после того, как осознал, что он хранит результат в бинарном .fig файле, который совершенно не читается ничем. Соответственно, никакого source control, никакого поиска, вообще ничего. В appDesigner немногим, но всё же лучше - там тоже бинарный формат, но это zip/text, поэтому можно как минимум искать (например, через Total Commander), а при большом желании и настроить внешние системы source control, чтобы они могли сравнивать разные версии (встроенная система вроде как уже работает, но она сама настолько стрёмная, что я предпочитаю работать со внешними клиентами).

    В итоге лично мне больше нравится вариант, когда GUI создаётся не ручками, а кодом. Весь функционал GUIDE доступен через функции uicontrol сотоварищи. И результат получается существенно красивее - как минимум проще сделать выравнивание контролов по одному уровню, или одинаковые расстояния между ними. Менять стили проще - мы сделали класс UIToolbox, который дублирует все команды uicontrol, выставляя кучу параметров по умолчанию, например стиль / цвет / шрифт. В этой схеме для того, чтобы перевести всё приложение на новый визуальный стиль достаточно (ну... почти достаточно) переписать этот класс, не трогая всего остального кода - можно представить себе объём работы при аналогичной задаче, когда весь GUI сделан через guide ...


  1. Alexander_The_Great
    21.10.2022 22:56
    +2

    Мануалы, которые мы заслужили. Кто такое наплюсовал вообще?