Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лабораторная работа 3-2.doc
Скачиваний:
1
Добавлен:
01.07.2025
Размер:
438 Кб
Скачать
☆

Основные принципы построения графического интерфейса

Средства графического пользовательского интерфейса (GUI – Graphic User Interface) предназначены для создания в MATLAB приложений с пользовательским интерфейсом. В этих приложениях присутствуют управляющие элементы, при изменениях пользователем свойств которых вызываются подпрограммы, выполняющие некоторые действия. Использование графического интерфейса позволяет пользователю сделать программу более универсальной.

Как и любой процесс проектирования, процесс построения графического интерфейса пользователя можно разбить на следующие этапы:

1. Постановка задачи,

2. Создание формы интерфейса и создание на неё элементов управления.

3. Написание кода программы и кода обработки событий.

Этапы построения графического интерфейса пользователя:

1. На первом этапе проводиться анализ поставленной задачи и определяется количество и состав элементов управления необходимых для решения задачи.

2. На втором этапе создаётся форма графического интерфейса и на ней создаются и размещаются элементы управления. Здесь же описываются их свойства.

Для упрощения разработки GUI MATLAB включает инструмент GUIDE (Graphic User Interface development environment – среда разработки GUI).

Создание gui

Для создания GUI используются два метода:

- Команда guide в командном окне.

- Выбор в меню MATLAB команды File=>New=>GUI.

В обоих случаях генерируется диалоговое окно создания GUI, которое содержит две вкладки:

- Creating New GUI – создание нового GUI.

- Open Existing GUI – открыть существующий GUI.

На вкладке создания нового GUI есть две панели: слева список шаблонов для выбора, справа предварительный просмотр. Можно выбрать один из предлагаемых шаблонов:

- Blank GUI (Default). Пустой GUI (по умолчанию)

- GUI with Uicontrols. GUI с элементами управления пользовательским интерфейсом.

- GUI with Axes and Menu. GUI с объектом Axes (координатные оси) и меню

- Modal Question Dialog. Модальное окно диалога с обязательным ответом на вопрос.

Рисунок 1 – Создание нового бланка графического интерфейса

Окно инструмента содержит поле, в котором размещаются компоненты. Доступные компоненты представлены в палитре, расположенной в правом поле.

Редактор gui (Layout Editor)

Окно редактора GUI содержит:

- Меню.

- Панель инструментов.

- Набор доступных компонент слева.

- Рабочее поле (Layout Area) с координатной сеткой.

Рисунок 2 – Пустой бланк

При работе с GUI:

- Компоненты GUI выбираются из палитры компонент инструмента GUI мышью и переносятся в рабочую область GUI.

- GUI сохраняется в двух файлах (fig, m-файл).

- М-файл, управляющий работой 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

Группа кнопок. Подобна панели, но используется только для радиокнопок и переключаемых кнопок.

ActiveX Control

Это элементы управления, разработанные Microsoft для операционной системы Windows. Их можно использовать при работе в этой операционной системе. При переносе этого компонента в рабочую область вызывается список ActiveX элементов для выбора.

При сохранении проекта GUI сохраняются файл формы и m-файл. После каждого редактирования оба файла изменяются. Ниже листинг m-файла с пустой формой. В нем автоматически создаются строки исполняемого кода и комментарии.

function varargout = Lab_3(varargin)

% LAB_3 MATLAB code for Lab_3.fig

% LAB_3, by itself, creates a new LAB_3 or raises the existing

% singleton*.

%

% H = LAB_3 returns the handle to a new LAB_3 or the handle to

% the existing singleton*.

%

% LAB_3('CALLBACK',hObject,eventData,handles,...) calls the local

% function named CALLBACK in LAB_3.M with the given input arguments.

%

% LAB_3('Property','Value',...) creates a new LAB_3 or raises the

% existing singleton*. Starting from the left, property value pairs are

% applied to the GUI before Lab_3_OpeningFcn gets called. An

% unrecognized property name or invalid value makes property application

% stop. All inputs are passed to Lab_3_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

% Edit the above text to modify the response to help Lab_3

% Last Modified by GUIDE v2.5 03-Oct-2015 13:08:58

% Begin initialization code - DO NOT EDIT

gui_Singleton = 1;

gui_State = struct('gui_Name', mfilename, ...

'gui_Singleton', gui_Singleton, ...

'gui_OpeningFcn', @Lab_3_OpeningFcn, ...

'gui_OutputFcn', @Lab_3_OutputFcn, ...

'gui_LayoutFcn', [] , ...

'gui_Callback', []);

if nargin && ischar(varargin{1})

gui_State.gui_Callback = str2func(varargin{1});

end

if nargout

[varargout{1:nargout}] = gui_mainfcn(gui_State, varargin{:});

else

gui_mainfcn(gui_State, varargin{:});

end

% End initialization code - DO NOT EDIT

% --- Executes just before Lab_3 is made visible.

function Lab_3_OpeningFcn(hObject, eventdata, handles, varargin)

% This function has no output args, see OutputFcn.

% hObject handle to figure

% eventdata reserved - to be defined in a future version of MATLAB

% handles structure with handles and user data (see GUIDATA)

% varargin command line arguments to Lab_3 (see VARARGIN)

% Choose default command line output for Lab_3

handles.output = hObject;

% Update handles structure

guidata(hObject, handles);

% UIWAIT makes Lab_3 wait for user response (see UIRESUME)

% uiwait(handles.figure1);

% --- Outputs from this function are returned to the command line.

function varargout = Lab_3_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)

% Get default command line output from handles structure

varargout{1} = handles.output;

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