Похожие презентации:
Человеко-машинное взаимодействие. Лекция 1
1.
Человеко-машинноевзаимодействие
Лекция 1
Мерзлякова Екатерина Юрьевна
к.т.н. доцент ПМиК
2.
Основные вопросычеловеко-машинного
взаимодействия
Пользовательский
интерфейс
программы
это
совокупность
элементов,
позволяющих
пользователю
программы управлять ее работой и получать требуемые
результаты.
3.
Основные вопросычеловеко-машинного
взаимодействия
4.
QtCreatorMicrosoft Windows,
Mac OS X,
Linux,
FreeBSD и других клонов UNIX,
iOS, Android,
Windows Phone, Windows RT и BlackBerry.
5.
Установка Qt 5.10 и вышеhttps://www.qt.io/offline-installers
https://disk.yandex.ru/d/QCj0Jujk_6_xnA
6.
Установка Qt 5.107.
Установка Qt 5.10MinGW 5.3.0 32 bit.
8.
Применение Qt9.
Применение Qt10.
Применение Qt11.
Применение Qt12.
Применение Qt13.
Применение Qt14.
Возможности Qt•Поддержку 2D и 3D графики (OpenGL, QT 3D)
•Возможность интернационализации
•Использование форматов JSON и XML
•STL-совместимую библиотеку контейнеров
•Поддержку стандартных протоколов ввода-вывода.
•Классы для работы с сетью
•Поддержку программирования баз данных
•И.др.
15.
Модули QT. QtCoreQCoreApplication –класс приложения;
QList, QVector, QMap, QVariant, QString – контейнерные
классы;
QIODevice, QTextStream, QFile – классы для ввода и вывода;
QBasicTimer, QTimer – классы для работы с таймером;
QObject – основной класс, родительский для большинства
классов Qt;
QEvent – основной класс событий;
QSettings – класс для сохранения настроек приложения;
и другие.
16.
Модули QT. QtGuiQGuiApplication – класс для управления графическим интерфейсом
приложения и основными настройками;
QWindow – класс окна в базовой оконной системе;
QAction – класс для пользовательских команд, которые могут быть
добавлены к различным компонентам пользовательского интерфейса;
QDrag – класс для поддержки передачи данных перетаскиванием;
QImage – класс аппаратно-независимого представления изображения для
обеспечения прямого доступа к данным пикселей;
QPainter - выполняет низкоуровневое рисование на виджетах и других
устройствах рисования;
QPaintDevice - базовый класс объектов, которые могут быть нарисованы
с помощью QPainter;
QScreen - Используется для запроса свойств экрана;
и другие.
17.
Модули QT. QtWidgetsQWidget – базовый класс для всех элементов управления;
QVBoxLayout, QHBoxLayout – классы компоновки виджетов;
QLabel, QLCDNumber – классы элементов отображения;
QPushButton, QCheckBox, QRadioButton – классы кнопок;
QSlider, QScrollBar – классы элементов установок;
QLineEdit, QSpinBox – классы элементов ввода;
QComboBox, QToolBox – классы элементов выбора;
QMainWindow, QMenu – классы меню;
QMessageBox, QDialog – классы окон сообщений и диалоговых окон;
QPainter, QBrush, QPen, QColor – классы для рисования;
QImage, QPixmap – классы для растровых изображений;
и другие.
18.
Модули QTQtQuick, QtQML – для быстрой разработки
графических интерфейсов
на базе QML, JavaScript и возможностей Qt;
QtNetwork – сетевой модуль для программирования
TCP- и UDP-сокетов, а также для реализации
программ-клиентов, использующих HTTP- и FTPпротоколы;
QtXml, QtXmlPatterns – для работы с XML;
QtSql – для работы с базами данных;
QtMultimedia, QtMultimediaWidgets модули для
разработки приложений с поддержкой
мультимедиа;
QtSvg – модуль поддержки графического векторного
формата SVG, базирующегося на XML.
19.
IDE QT CREATOR20.
Создание проекта21.
Создание проекта22.
Создание проекта23.
Создание проекта24.
Создание проекта25.
Создание проектаHEADERS – заголовочные файлы проекта с расширением .h;
CONFIG – параметры компилятора, настройки конфигурации
проекта с помощью флагов.
QT – используемые в проекте модули Qt. По умолчанию указано
ядро и графический интерфейс;
TARGET – название исполняемого файла;
TEMPLATE – тип проекта: app, lib, subdirs, aux, vcapp или vclib;
SOURCES – все исходные файлы проекта с расширением .cpp;
FORMS – файлы, описывающие формы Qt Designer;
DEFINES – макроопределения в проекте, аналогичные директиве
препроцессора #define;
RESOURCES – указывает на файл ресурсов;
VERSION – версия проекта.
26.
Создание проекта27.
Создание проекта28.
Создание проекта29.
Создание проекта30.
Создание проекта31.
Qt Designer32.
Qt Designer33.
Qt Designer34.
Сигналы и слоты35.
Сигналы и слотыbool QObject::connect(
const QObject *sender, //источник события
const char *signal, //сигнал
const QObject *receiver, //объект-приемник
const char *method, //функция-обработчик
Qt::ConnectionType type = Qt::AutoConnection
//режим обработки
) const;
36.
Сигналы и слоты37.
Преимущества механизма сигналови слотов
каждый класс, унаследованный от QObject, может
иметь любое количество сигналов и слотов;
сообщения, посылаемые посредством сигналов,
могут иметь множество аргументов любого типа;
сигнал можно соединять с различным количеством
слотов. Отправляемый сигнал поступит ко всем
подсоединенным слотам;
слот может принимать сообщения от многих
сигналов, принадлежащих разным объектам;
38.
Преимущества механизма сигналови слотов
соединение сигналов и слотов можно производить
в любой точке приложения;
сигналы и слоты являются механизмами,
обеспечивающими связь между объектами. Более
того, эта связь может выполняться между объектами,
которые находятся в различных потоках;
при уничтожении объекта происходит
автоматическое разъединение всех сигнальнослотовых связей. Это гарантирует, что сигналы не
будут отправляться к несуществующим объектам;
39.
Определение слотовPublic
Private
Protected
Private slots:
Protected slots:
Public slots:
40.
Недостатки механизма сигналов ислотов
•сигналы и слоты не являются частью языка С++,;
•отправка сигналов происходит немного медленнее,
чем обычный вызов функции, который
осуществляется при использовании механизма
функций обратного вызова;
•существует необходимость в наследовании класса
QObject;
•в процессе компиляции не производится никаких
проверок.
41.
Пример42.
Менеджер компоновки• QHBoxLayout
• QVBoxLayout
• QGridBoxLayout
43.
Менеджер компоновки44.
Создание меню•Меню верхнего уровня
•Всплывающие меню
•Отрывное меню
•Контекстное меню
QMenu
QAction
hovered()
45.
Меню верхнего уровня46.
Создание меню47.
Свойства пунктов меню48.
Редактирование меню49.
Редактирование меню50.
«Анатомия» меню51.
Литература по Qt1.
2.
3.
4.
5.
6.
Qt, Tools for Each Stage of Software Development Lifecycle [Электронный ресурс].
URL: https://www.qt.io (дата обращения: 5.05.2023).
Алексеев Е.Р., Злобин Г.Г., Костюк Д.А. [и др.] Программирование на языке С++
в среде Qt Creator : Курс лекций. — Москва : Интуит НОУ, 2016. — 715 с.
[Электронный ресурс]. URL: https://book.ru/book/918128 (дата обращения:
05.05.2023).
Шлее М. Qt 5.10. Профессиональное программирование на C++. БХВПетербург, 2018. 1052 c.
Зубкова Т.М. Технология разработки программного обеспечения: учебное
пособие. Оренбургский гос. ун-т.- Оренбург: ОГУ, 2017. – 468 с.
Корнипаев И.Требования для программного обеспечения: рекомендации по
сбору и документированию. М.: Издательство «Книга по Требованию», 2013. –
118 с.
Мерзлякова Е. Ю. Визуальное программирование и человеко-машинное
взаимодействие : практикум / Сибирский государственный университет
телекоммуникаций и информатики. Новосибирск, 2022. 49 с.