Академический Документы
Профессиональный Документы
Культура Документы
Телекоммуникаций и Информатики
Факультет ИСТ
Кафедра ИВТ
Конспект лекций
Самара
2012
Факультет информационных систем и технологий
Кафедра «Информатика и вычислительная техника»
2
1. MATLAB, графический интерфейс пользователя .............................................. 4
1.1. Создание GUI инструментом GUIDE ........................................................... 6
1.2. Редактор GUI (Layout Editor) ........................................................................ 9
1.2.1. Пункт File (Файл) .................................................................................. 12
1.2.2. Пункт Edit (Правка) .............................................................................. 14
1.2.3. Пункт View (Вид) .................................................................................. 15
1.2.4. Пункт Layout (Рабочая область) ......................................................... 16
1.2.5. Пункт Tools (Инструменты) ................................................................. 16
1.2.6. Пункт Help (Справка) ........................................................................... 17
1.3. Пример простого GUI .................................................................................. 18
3
1. MATLAB, графический интерфейс пользователя
Средства графического пользовательского интерфейса (GUI – Graphic User
Interface) предназначены для создания в MATLAB приложений с
пользовательским интерфейсом. В этих приложениях присутствуют
управляющие элементы, при изменениях пользователем свойств которых
вызываются подпрограммы, выполняющие некоторые действия.
Для упрощения разработки GUI MATLAB включает инструмент GUIDE (Graphic
User Interface development environment – среда разработки GUI). Для выбора
инструмента используется команда File=>New=>GUI. Окно инструмента
содержит поле, в котором размещаются компоненты. Доступные компоненты
представлены в палитре, расположенной в правом поле.
4
М-файл, управляющий работой GUI, генерируется автоматически при
сохранении проекта.
Для создания GUI в MATLAB используются следующие компоненты:
Компонент Назначение
Push Button Кнопка. При нажатии отображается нажатой, при отпускании
генерирует действие и отображается отжатой.
Toggle Button Переключаемая кнопка. При нажатии отображается нажатой,
при отпускании генерирует действие, но остается нажатой.
Применяется для панелей инструментов.
Check Box Независимый переключатель. Генерирует действие, когда
нажат, и отображает включенное состояние птичкой в
прямоугольнике. Используется в группах независимых
переключателей для установки свойств объектов.
Radio Button Зависимый переключатель. Генерирует действие, когда
нажат, и отображает включенное состояние точкой в кружке.
Похож на Check Box, но при использовании в группе при
включении выключает остальные.
Edit Text Редактор текста. Используется для ввода и редактирования
строк текста. Действие генерируется при нажатии клавиши
Enter для однострочного текста и Ctl+Enter для
многострочного текста.
Static Text Статический текст. Используется для меток и для
отображения значения Slider.
Slider Ползунок. Отображает численные значения в выбранном
диапазоне с выбор значения перемещением ползунка.
Выбранное значение отображается в компоненте Static Text.
ListBox Список тем для выбора. Позволяет выбрать одну или
несколько тем.
Pop-Up Menu Выпадающее меню (иначе ComboBox). Подобен ListBox, но
список открывается только при выборе. Используется для
экономии места.
Axes Координатные оси. Используются для рисования в GUI
графиков.
Panel Панель. Это контейнер для группы компонент GUI. Панель
используется для облегчения понимания назначения
элементов управления путем их визуального объединения.
Панель может иметь границы и заголовок. При перемещении
панели ее дочерние компоненты тоже перемещаются.
Button Group Группа кнопок. Подобна панели, но используется только для
радиокнопок и переключаемых кнопок.
5
ActiveX Это элементы управления, разработанные Microsoft для
Control операционной системы Windows. Их можно использовать при
работе в этой операционной системе. При переносе этого
компонента в рабочую область вызывается список ActiveX
элементов для выбора.
6
7
Вкладка открытия существующего GUI включает список имеющихся объектов
GUI, если они есть. Кнопка Browse (Просмотреть) открывает стандартный
диалог открытия файла.
8
После выбора типа GUI нажатие на кнопку OK приводит к появлению окна
редактора GUI – Layout Editor.
9
При сохранении проекта GUI сохраняются файл рисунка и
m-файл. После каждого редактирования оба файла
изменяются. Ниже листинг m-файла с пустой формой. В
нем автоматически создаются строки исполняемого
кода и комментариии
function varargout = MyGUI(varargin)
% MYGUI M-file for MyGUI.fig
% MYGUI, by itself, creates a new MYGUI or raises the existing
% singleton*.
%
% H = MYGUI returns the handle to a new MYGUI or the handle to
% the existing singleton*.
%
% MYGUI('CALLBACK',hObject,eventData,handles,...) calls the local
% function named CALLBACK in MYGUI.M with the given input arguments.
%
% MYGUI('Property','Value',...) creates a new MYGUI or raises the
% existing singleton*. Starting from the left, property value pairs are
10
% applied to the GUI before MyGUI_OpeningFunction gets called. An
% unrecognized property name or invalid value makes property application
% stop. All inputs are passed to MyGUI_OpeningFcn via varargin.
%
% *See GUI Options on GUIDE's Tools menu. Choose "GUI allows only one
% instance to run (singleton)".
%
% See also: GUIDE, GUIDATA, GUIHANDLES
if nargout
[varargout{1:nargout}] = gui_mainfcn(gui_State, varargin{:});
else
gui_mainfcn(gui_State, varargin{:});
end
% End initialization code - DO NOT EDIT
11
handles.output = hObject;
% --- Outputs from this function are returned to the command line.
function varargout = MyGUI_OutputFcn(hObject, eventdata, handles)
% varargout cell array for returning output args (see VARARGOUT);
% hObject handle to figure
% eventdata reserved - to be defined in a future version of MATLAB
% handles structure with handles and user data (see GUIDATA)
Файл
12
Новый
Открыть...
Закрыть
Сохранить
Сохранить как...
Экспорт
Предпочтения
Печать
Список последних файлов
Команда File=>Preferences вызывает окно предпочтений MATLAB, в котором
будут отображены параметры GUI по умолчанию. В нем нужно установить
флаг отображения имен компонент в палитре (Show names in component
palette). После этого окно редактора примет иной вид. При этом, конечно,
размеры рабочего поля сокращаются.
13
1.2.2. Пункт Edit (Правка)
Правка
Отменить
Повторить отмененное
Вырезать
Копировать
Вставить
Удалить
14
Специальная вставка
Дублировать
Вид
Инспектор объектов (в автономном окне)
Браузер объектов (в автономном окне)
Редактор М-файла (в автономном окне)
Показать вызовы ►
Функция создания
Функция удаления
Функция нажатия кнопки
Функция нажатия кнопки окна
Функция перемещения кнопки окна
Функция отпускания кнопки окна
Функция нажатия клавиши
Функция изменения размера
Функция закрыть по запросу
Callbacks (Вызовы) – это функции, вызываемые для компонента. Команда
View Callbacks (Показать вызовы) отображает для выделенного
компонента список используемых для него функций. При выборе функции
из этого списка в окне редактора М-файла показывается код этой команды.
15
1.2.4. Пункт Layout (Рабочая область)
Рабочее поле
Привязать к сетке
Перенести выделенный объект в верхний слой
Перенести выделенный объект в нижний слой
Перенести выделенный объект в слой на 1 выше
Перенести выделенный объект в слой на 1 ниже
Объекты GUI отображаются слоями. Вы можете перемещать любой объект из
слоя в слой четырьмя способами.
Инструменты
Исполнить
Выровнять объекты... (вызов окна выравнивания )
Сетка и линейки (вызов окна установки)
Редактор меню
16
Редактор порядка переключений полей клавишей Tab
Опции GUI
Справка
17
Использование редактора
Создание GUI
18
Для изменения свойств компонент можно использовать разные способы:
Прямо в окне GUI, перемещая компонент или меняя его размеры
манипулятором мышь можно изменить размеры и позицию.
Использовать браузер объектов Object Browser, в котором выбирается
нужный объект. При этом вызывается инспектор объектов.
Property Inspector. Инспектор объектов, в котором отображаются свойства
компонентов. Если выбирается конкретный компонент, то в инспекторе он
выделяется цветом.
Прямое редактирование кода в файле GUI.
19
20
Компоненты GUI имеют множество свойств, задаваемых по умолчанию.
Большинство менять не следует. В нашем примере для кнопок выбора типа
графика выбраны названия типов (Surf, Mesh, Contour), для типов данных
набор функций (peacks, membrane, sink) для статического текста строка
Selected Data.
После создания GUI он должен быть сохранен. Теперь его можно исполнить
командой Tools=>Run (или кнопкой со стрелкой из панели инструментов). При
работе с созданным GUI нужно:
Выбрать данные.
После этого для этих данных выбрать тип графика.
Примеры работы с разными данными с типом графика serf ниже. Каждый раз в
окне GUI кнопка типа выделяется цветом:
21
Примеры работы с данными peaks с разными типами графика. Каждый раз в
окне GUI кнопка типа выделяется цветом:
22