exponenta event banner

Параметры GUIDE

Примечание

Среда GUIDE будет удалена в следующей версии. После удаления GUIDE существующие приложения GUIDE будут продолжать работать в MATLAB ®, но они не будут редактироваться в GUIDE.

Чтобы продолжить редактирование существующего приложения GUIDE, см. раздел Стратегии миграции GUIDE для получения информации о том, как поддерживать совместимость приложения с будущими выпусками MATLAB. Чтобы создать новые приложения в интерактивном режиме, разработайте приложения с помощью App Designer.

Диалоговое окно «Параметры графического интерфейса пользователя»

Откройте диалоговое окно из редактора компоновки GUIDE, выбрав «Сервис» > «Параметры графического интерфейса пользователя». Выбранные параметры вступают в силу при следующем сохранении пользовательского интерфейса.

Изменение параметров поведения

Можно управлять тем, могут ли пользователи изменять размер окна и как MATLAB обрабатывает изменение размера. GUIDE предоставляет три варианта:

  • Без возможности изменения размера - пользователи не могут изменять размер окна (по умолчанию).

  • Пропорционально - программа автоматически масштабирует компоненты пользовательского интерфейса пропорционально размеру окна новой фигуры.

  • Другое (Use StartChangedFcn) - запрограммировать пользовательский интерфейс, чтобы вести себя определенным образом, когда пользователи изменяют размер окна фигуры.

Первые две опции задают свойства фигуры и компонента соответствующим образом и не требуют других действий. Другое (Use StartChangedFcn) требует, чтобы вы написали подпрограмму обратного вызова, которая пересчитывает размеры и положения компонентов на основе нового размера фигуры.

Специальные возможности командной строки

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

Если явно не указать маркер перемещения фигуры, то многие команды, такие как plot, изменить текущую фигуру (фигуру, заданную корнем CurrentFigure и возвращено gcf команда). Текущая фигура обычно представляет собой фигуру, которая была создана совсем недавно, нарисована или нажата мышью. Можно программно обозначить фигуру h (где h является его дескриптором) в качестве текущей фигуры четырьмя способами:

  1. set(groot,'CurrentFigure',h) - Делает фигуру h текущий, но не изменяет его видимость или укладку по отношению к другим фигурам

  2. figure(h) - Делает фигуру h текущий, видимый и отображаемый поверх других рисунков

  3. axes(h) - Делает существующие оси h текущие оси и отображает фигуру, содержащую ее, поверх других фигур

  4. plot(h,...)или любая функция печати, которая принимает оси в качестве своего первого аргумента, также делает существующие оси h текущие оси и отображает фигуру, содержащую ее, поверх других фигур

gcf функция возвращает дескриптор текущего рисунка.

h = gcf

Для пользовательского интерфейса, созданного в GUIDE, установите параметр «Специальные возможности командной строки», чтобы пользователи не могли непреднамеренно изменить внешний вид или содержимое пользовательского интерфейса, выполнив команды в командной строке или из сценария или функции, например plot. В следующей таблице кратко описаны четыре варианта специальных возможностей командной строки.

Выбор

Описание

Обратный вызов (GUI становится текущим в пределах обратного вызова)

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

Выкл. (графический интерфейс никогда не становится текущим рисунком)

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

Вкл. (графический интерфейс может стать текущим рисунком из командной строки)

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

Прочее (использовать параметры из инспектора свойств)

Управление доступностью осуществляется с помощью настройки HandleVisibility и IntegerHandle в Инспекторе свойств.

Создание файла FIG и файла MATLAB

Выберите Generate FIG-file и MATLAB file (Генерировать файл FIG и файл MATLAB) в диалоговом окне Опции GUI (GUI Options), если требуется, чтобы GUIDE создавал как файл FIG, так и файл пользовательского кода (по умолчанию). После выбора этого параметра можно выбрать любой из следующих элементов в рамке для настройки кода пользовательского интерфейса:

Сведения об этих файлах см. в разделе Файлы, созданные GUIDE.

Создание прототипов функций обратного вызова

Если в диалоговом окне «Параметры графического интерфейса пользователя» выбрать «Создать прототипы функций обратного вызова», GUIDE добавит шаблоны для наиболее часто используемых обратных вызовов в файл кода для большинства компонентов. Затем необходимо вставить код в эти шаблоны.

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

Общие сведения о обратных вызовах см. в разделе Запись обратных вызовов в GUIDE.

Примечание

Эта опция доступна только при первом выборе опций Генерировать файл FIG (Generate FIG-file) и Файл MATLAB (MATLAB file).

Графический интерфейс пользователя позволяет запускать только один экземпляр (Singleton)

Эта опция позволяет выбрать два варианта поведения для окна фигуры:

  • Разрешить программному обеспечению MATLAB отображать только один экземпляр пользовательского интерфейса одновременно.

  • Разрешить программе MATLAB отображать несколько экземпляров пользовательского интерфейса.

Если разрешен только один экземпляр, программа повторно использует существующий рисунок при каждом выполнении команды для запуска программы. Если окно пользовательского интерфейса уже существует, программа выводит его на передний план, а не создает новый рисунок.

Если этот параметр снят, программа создает новый рисунок при каждом выполнении команды запуска программы.

Даже если разрешить существование только одного экземпляра пользовательского интерфейса, инициализация может выполняться каждый раз при вызове его из командной строки. Например, код в OpeningFcn будет выполняться при каждом запуске программы GUIDE, если вы не предпримете шаги для предотвращения этого. Добавление флага к handles структура является одним из способов управления таким поведением. Вы можете сделать это в OpeningFcn, который может запустить код инициализации, если этот флаг еще не существует, и пропустить этот код, если он есть.

Примечание

Эта опция доступна только при первом выборе опций Генерировать файл FIG (Generate FIG-file) и Файл MATLAB (MATLAB file).

Использование системной цветовой схемы для фона

Цвет по умолчанию, используемый для компонентов пользовательского интерфейса, зависит от системы. Эта опция позволяет сделать цвет фона фигуры таким же, как цвет фона компонента по умолчанию.

Чтобы убедиться, что фон фигуры соответствует цвету компонентов, в диалоговом окне «Параметры графического интерфейса пользователя» выберите «Использовать системную цветовую схему для фона».

Примечание

Эта опция доступна только при первом выборе опций Генерировать файл FIG (Generate FIG-file) и Файл MATLAB (MATLAB file).

Генерировать только файл FIG

Опция Generate FIG-file only позволяет открывать фигуры и пользовательские интерфейсы для выполнения ограниченного редактирования. Это могут быть любые цифры и не обязательно пользовательские интерфейсы. Пользовательские интерфейсы не обязательно создавались с помощью GUIDE. Этот режим обеспечивает ограниченную возможность редактирования и может быть полезен для пользовательских интерфейсов, созданных в MATLAB версий 5.3 и более ранних. См. раздел guide для получения дополнительной информации.

GUIDE выбирает по умолчанию опцию Generate FIG-file только при выполнении одного из следующих действий:

  • Запустите GUIDE из командной строки, указав один или несколько объектов фигуры в качестве аргументов.

    guide(f)

    В этом случае GUIDE выбирает опцию Generate FIG-file only, даже если файл кода с соответствующим именем существует в той же папке.

  • Запустите GUIDE из командной строки и укажите имя файла FIG, для которого в той же папке нет файла кода с таким именем.

    guide('myfig.fig')
  • Используйте вкладку GUIDE Open Existing GUI, чтобы открыть файл FIG, для которого в той же папке нет файла кода с тем же именем.

При сохранении рисунка или пользовательского интерфейса с выбранным параметром «Генерировать только файл FIG» команда GUIDE сохраняет только файл FIG. При необходимости необходимо самостоятельно обновить все соответствующие файлы кода.

Если необходимо, чтобы GUIDE управлял файлом кода пользовательского интерфейса, измените выбор на Generate FIG-file и MATLAB file перед сохранением пользовательского интерфейса. Если в том же месте нет соответствующего файла кода, то GUIDE создает его. Если файл кода с тем же именем, что и исходный рисунок или пользовательский интерфейс, существует в той же папке, GUIDE перезаписывает его. Чтобы предотвратить перезапись существующего файла, сохраните пользовательский интерфейс с помощью команды «Сохранить как» в меню «Файл». Выберите другое имя для этих двух файлов. При необходимости GUIDE обновляет имена переменных в новом кодовом файле.

Обратные вызовы для пользовательских интерфейсов без кода

Даже при отсутствии файла кода, связанного с FIG-файлом пользовательского интерфейса, можно обеспечить обратные вызовы для компонентов пользовательского интерфейса, чтобы они выполняли действия при использовании. В инспекторе свойств можно вводить обратные вызовы в виде векторов символов, встроенных функций или кодовых имен файлов MATLAB; при запуске программы они будут выполнены, если это возможно. Если обратный вызов является именем файла, он может включать аргументы для этой функции. Например, установка Callback свойство кнопки для sqrt(2) приводит к отображению результата выражения в окне команд:

ans =
    1.4142
Любой файл, выполняемый при обратном вызове, должен находиться в текущей папке или в пути MATLAB. Дополнительные сведения о работе обратных вызовов см. в разделе Запись обратных вызовов в GUIDE.

Связанные темы