🗊Презентация Кроссплатформенный фреймворк для разработки программного обеспечения на языке программирования C++

Нажмите для полного просмотра!
Кроссплатформенный фреймворк для разработки программного обеспечения на языке программирования C++, слайд №1Кроссплатформенный фреймворк для разработки программного обеспечения на языке программирования C++, слайд №2Кроссплатформенный фреймворк для разработки программного обеспечения на языке программирования C++, слайд №3Кроссплатформенный фреймворк для разработки программного обеспечения на языке программирования C++, слайд №4Кроссплатформенный фреймворк для разработки программного обеспечения на языке программирования C++, слайд №5Кроссплатформенный фреймворк для разработки программного обеспечения на языке программирования C++, слайд №6Кроссплатформенный фреймворк для разработки программного обеспечения на языке программирования C++, слайд №7Кроссплатформенный фреймворк для разработки программного обеспечения на языке программирования C++, слайд №8Кроссплатформенный фреймворк для разработки программного обеспечения на языке программирования C++, слайд №9Кроссплатформенный фреймворк для разработки программного обеспечения на языке программирования C++, слайд №10Кроссплатформенный фреймворк для разработки программного обеспечения на языке программирования C++, слайд №11Кроссплатформенный фреймворк для разработки программного обеспечения на языке программирования C++, слайд №12Кроссплатформенный фреймворк для разработки программного обеспечения на языке программирования C++, слайд №13Кроссплатформенный фреймворк для разработки программного обеспечения на языке программирования C++, слайд №14Кроссплатформенный фреймворк для разработки программного обеспечения на языке программирования C++, слайд №15Кроссплатформенный фреймворк для разработки программного обеспечения на языке программирования C++, слайд №16Кроссплатформенный фреймворк для разработки программного обеспечения на языке программирования C++, слайд №17Кроссплатформенный фреймворк для разработки программного обеспечения на языке программирования C++, слайд №18Кроссплатформенный фреймворк для разработки программного обеспечения на языке программирования C++, слайд №19Кроссплатформенный фреймворк для разработки программного обеспечения на языке программирования C++, слайд №20Кроссплатформенный фреймворк для разработки программного обеспечения на языке программирования C++, слайд №21Кроссплатформенный фреймворк для разработки программного обеспечения на языке программирования C++, слайд №22Кроссплатформенный фреймворк для разработки программного обеспечения на языке программирования C++, слайд №23Кроссплатформенный фреймворк для разработки программного обеспечения на языке программирования C++, слайд №24Кроссплатформенный фреймворк для разработки программного обеспечения на языке программирования C++, слайд №25Кроссплатформенный фреймворк для разработки программного обеспечения на языке программирования C++, слайд №26Кроссплатформенный фреймворк для разработки программного обеспечения на языке программирования C++, слайд №27Кроссплатформенный фреймворк для разработки программного обеспечения на языке программирования C++, слайд №28Кроссплатформенный фреймворк для разработки программного обеспечения на языке программирования C++, слайд №29Кроссплатформенный фреймворк для разработки программного обеспечения на языке программирования C++, слайд №30Кроссплатформенный фреймворк для разработки программного обеспечения на языке программирования C++, слайд №31Кроссплатформенный фреймворк для разработки программного обеспечения на языке программирования C++, слайд №32Кроссплатформенный фреймворк для разработки программного обеспечения на языке программирования C++, слайд №33Кроссплатформенный фреймворк для разработки программного обеспечения на языке программирования C++, слайд №34Кроссплатформенный фреймворк для разработки программного обеспечения на языке программирования C++, слайд №35Кроссплатформенный фреймворк для разработки программного обеспечения на языке программирования C++, слайд №36Кроссплатформенный фреймворк для разработки программного обеспечения на языке программирования C++, слайд №37

Содержание

Вы можете ознакомиться и скачать презентацию на тему Кроссплатформенный фреймворк для разработки программного обеспечения на языке программирования C++. Доклад-сообщение содержит 37 слайдов. Презентации для любого класса можно скачать бесплатно. Если материал и наш сайт презентаций Mypresentation Вам понравились – поделитесь им с друзьями с помощью социальных кнопок и добавьте в закладки в своем браузере.

Слайды и текст этой презентации


Слайд 1






кроссплатформенный фреймворк для разработки программного обеспечения на языке программирования C++
Описание слайда:
кроссплатформенный фреймворк для разработки программного обеспечения на языке программирования C++

Слайд 2





Проблемы, направления
Промышленные/научные приложения (с/с++, аппаратура, embedded)
Нативные приложения
Разработка Gui MFC и тд.
Веб должен умереть (проблемы с безопасностью https://habrahabr.ru/post/338880/)
Кроссплатформенность
Описание слайда:
Проблемы, направления Промышленные/научные приложения (с/с++, аппаратура, embedded) Нативные приложения Разработка Gui MFC и тд. Веб должен умереть (проблемы с безопасностью https://habrahabr.ru/post/338880/) Кроссплатформенность

Слайд 3





Qt представляет собой полный инструментарий для программирования, который состоит из отдельных модулей и предоставляет:

поддержку двух- и трехмерной графики (фактически, являясь стандартом для платформонезависимого программирования на OpenGL);
возможность интернационализации, которая позволяет значительно расширить рынок сбыта ваших программ;
использование формата XML (extensible Markup Language);
STL-совместимую библиотеку контейнеров;
поддержку стандартных протоколов ввода/вывода;
классы для работы с сетью;
поддержку программирования баз данных, включая Oracle, Microsoft SQL Server, IBM DB2, MySQL, SQLite, Sybase, PostgreSQL;
и многое другое.
Описание слайда:
Qt представляет собой полный инструментарий для программирования, который состоит из отдельных модулей и предоставляет: поддержку двух- и трехмерной графики (фактически, являясь стандартом для платформонезависимого программирования на OpenGL); возможность интернационализации, которая позволяет значительно расширить рынок сбыта ваших программ; использование формата XML (extensible Markup Language); STL-совместимую библиотеку контейнеров; поддержку стандартных протоколов ввода/вывода; классы для работы с сетью; поддержку программирования баз данных, включая Oracle, Microsoft SQL Server, IBM DB2, MySQL, SQLite, Sybase, PostgreSQL; и многое другое.

Слайд 4





«привязки» графического 
фреймворка Qt
 Python — PyQt, PySide
 Ruby — QtRuby
 Java — Qt Jambi
 PHP — PHP-Qt 
и другие.
Описание слайда:
«привязки» графического фреймворка Qt Python — PyQt, PySide Ruby — QtRuby Java — Qt Jambi PHP — PHP-Qt и другие.

Слайд 5





Использование
Примеры продуктов
Autodesk Maya,
Skype
Telegram
Медиапроигрыватель VLC
VirtualBox
Google Планета Земля
Mathematica
2GIS
Viber
KDE
Описание слайда:
Использование Примеры продуктов Autodesk Maya, Skype Telegram Медиапроигрыватель VLC VirtualBox Google Планета Земля Mathematica 2GIS Viber KDE

Слайд 6





Модуль QtCore
контейнерные классы: QList, QVector, QMap, QVariant, QString и т. д.
классы для ввода и вывода: QiODevice, QTextStream, QFile
классы процесса QProcess и для программирования многопоточности: QThread, QWaitCondition, QMutex
классы для работы с таймером: QBasicTimer и QTimer 
классы для работы с датой и временем: QDate и QTime 
класс QObject, являющийся краеугольным камнем объектной модели Qt
базовый класс событий QEvent 
класс для сохранения настроек приложения Qsettings
класс приложения QCoreApplication, из объекта которого, если требуется, можно запустить цикл событий
классы поддержки анимации: QAbstractAnimation, QVariantAnimation и т. д.
классы для машины состояний: QStateMachine, QState и т. д.
классы моделей интервью: QAbstractltemModel, QStringListModel, QAbstractProxyModel
модуль содержит так же механизмы поддержки файлов ресурсов
Описание слайда:
Модуль QtCore контейнерные классы: QList, QVector, QMap, QVariant, QString и т. д. классы для ввода и вывода: QiODevice, QTextStream, QFile классы процесса QProcess и для программирования многопоточности: QThread, QWaitCondition, QMutex классы для работы с таймером: QBasicTimer и QTimer классы для работы с датой и временем: QDate и QTime класс QObject, являющийся краеугольным камнем объектной модели Qt базовый класс событий QEvent класс для сохранения настроек приложения Qsettings класс приложения QCoreApplication, из объекта которого, если требуется, можно запустить цикл событий классы поддержки анимации: QAbstractAnimation, QVariantAnimation и т. д. классы для машины состояний: QStateMachine, QState и т. д. классы моделей интервью: QAbstractltemModel, QStringListModel, QAbstractProxyModel модуль содержит так же механизмы поддержки файлов ресурсов

Слайд 7





Модуль QtGui
Предоставляет классы интеграции с оконной системой, с OpenGL и OpenGL ES. 
Содержит класс QWindow, который является элементарной областью с возможностью получения событий пользовательского ввода, изменения фокуса и размеров, а так же позволяющей производить графические операции и рисование на своей поверхности.
Класс приложения этого модуля QGuiApplication. Этот класс содержит механизм цикла событий
получения доступа к буферу обмена 
инициализации необходимых настроек приложения — например, палитры для расцветки элементов управления
Описание слайда:
Модуль QtGui Предоставляет классы интеграции с оконной системой, с OpenGL и OpenGL ES. Содержит класс QWindow, который является элементарной областью с возможностью получения событий пользовательского ввода, изменения фокуса и размеров, а так же позволяющей производить графические операции и рисование на своей поверхности. Класс приложения этого модуля QGuiApplication. Этот класс содержит механизм цикла событий получения доступа к буферу обмена инициализации необходимых настроек приложения — например, палитры для расцветки элементов управления

Слайд 8





Модуль QtWidgets
класс Qwidget — это базовый класс для всех элементов управления библиотеки Qt
классы для автоматического размещения элементов: QVBoxLayout,QHBoxLayout
классы элементов отображения: QLabel,QLCDNumber
классы кнопок: QPushButton,QCheckBox,QRadioButton
классы элементов установок: QSlider,QScrollBar
классы элементов ввода: QLineEdit,QSpinBox
классы элементов выбора: QComboBox,QTooiBox
классы меню: QMainwindow и QMenu
классы окон сообщений и диалоговых окон: QMessageBox,Qdialog
классы для рисования: QPainter,QBrush,QPen,QColor 
классы для растровых изображений: Qimage,QPixmap 
классы стилей  отдельному элементу, так и всему приложению может быть присвоен определенный стиль, изменяющий их внешний облик;
класс приложения QApplication,который предоставляет цикл событий.
Описание слайда:
Модуль QtWidgets класс Qwidget — это базовый класс для всех элементов управления библиотеки Qt классы для автоматического размещения элементов: QVBoxLayout,QHBoxLayout классы элементов отображения: QLabel,QLCDNumber классы кнопок: QPushButton,QCheckBox,QRadioButton классы элементов установок: QSlider,QScrollBar классы элементов ввода: QLineEdit,QSpinBox классы элементов выбора: QComboBox,QTooiBox классы меню: QMainwindow и QMenu классы окон сообщений и диалоговых окон: QMessageBox,Qdialog классы для рисования: QPainter,QBrush,QPen,QColor классы для растровых изображений: Qimage,QPixmap классы стилей отдельному элементу, так и всему приложению может быть присвоен определенный стиль, изменяющий их внешний облик; класс приложения QApplication,который предоставляет цикл событий.

Слайд 9





Модули Qt
Описание слайда:
Модули Qt

Слайд 10





Философия объектной модели
Класс QObject содержит в себе поддержку:
сигналов и слотов (signal/slot);
таймера;
механизма объединения объектов в иерархии;
событий и механизма их фильтрации;
организации объектных иерархий;
метаобъектной информации;
приведения типов;
свойств.
Описание слайда:
Философия объектной модели Класс QObject содержит в себе поддержку: сигналов и слотов (signal/slot); таймера; механизма объединения объектов в иерархии; событий и механизма их фильтрации; организации объектных иерархий; метаобъектной информации; приведения типов; свойств.

Слайд 11





Свойства
Описание слайда:
Свойства

Слайд 12


Кроссплатформенный фреймворк для разработки программного обеспечения на языке программирования C++, слайд №12
Описание слайда:

Слайд 13


Кроссплатформенный фреймворк для разработки программного обеспечения на языке программирования C++, слайд №13
Описание слайда:

Слайд 14





Механизм сигналов и слотов
Описание слайда:
Механизм сигналов и слотов

Слайд 15





MFC. Карты сообщений
class CPhotoStylerApp : public CWinApp {
public:
	CPhotoStylerApp();
public:
virtual BOOL Initlnstance();
afx_msg void OnAppAbout();
afx_msg void OnFileNew));
DECLARE_MESSAGE_MAP()
};
BEGIN_MESSAGE_MAP(CPhotoStylerApp, CWinApp)
ON_COMMAND(ID_APP_ABOUT, OnAppAbout)
ON_COMMAND(ID_FILE_NEW, OnFileNew)
ON_COMMAND(ID_FILE_NEW, CWinApp::OnFileNew)
ON_COMMAND(ID_FILE_OPEN, CWinApp::OnFileOpen)
ON_COMMAND(ID_FILE_PRINT_SETUP, CWinApp::OnFilePrintSetup)
END_MESSAGE_MAP()
Описание слайда:
MFC. Карты сообщений class CPhotoStylerApp : public CWinApp { public: CPhotoStylerApp(); public: virtual BOOL Initlnstance(); afx_msg void OnAppAbout(); afx_msg void OnFileNew)); DECLARE_MESSAGE_MAP() }; BEGIN_MESSAGE_MAP(CPhotoStylerApp, CWinApp) ON_COMMAND(ID_APP_ABOUT, OnAppAbout) ON_COMMAND(ID_FILE_NEW, OnFileNew) ON_COMMAND(ID_FILE_NEW, CWinApp::OnFileNew) ON_COMMAND(ID_FILE_OPEN, CWinApp::OnFileOpen) ON_COMMAND(ID_FILE_PRINT_SETUP, CWinApp::OnFilePrintSetup) END_MESSAGE_MAP()

Слайд 16





Механизм сигналов и слотов
Описание слайда:
Механизм сигналов и слотов

Слайд 17





Преимущества
каждый класс, унаследованный от QObject, может иметь любое количество сигналов и слотов;
сообщения, посылаемые посредством сигналов, могут иметь множество аргументов любого типа;
сигнал можно соединять с различным количеством слотов. Отправляемый сигнал поступит ко всем подсоединенным слотам;
слот может принимать сообщения от многих сигналов, принадлежащих разным объектам;
соединение сигналов и слотов можно производить в любой точке приложения;
сигналы и слоты являются механизмами, обеспечивающими связь между объектами.
Более того, эта связь может выполняться между объектами, которые находятся в различных потоках;
при уничтожении объекта происходит автоматическое разъединение всех сигнально слотовых связей. Это гарантирует, что сигналы не будут отправляться к несуществующим объектам.
Описание слайда:
Преимущества каждый класс, унаследованный от QObject, может иметь любое количество сигналов и слотов; сообщения, посылаемые посредством сигналов, могут иметь множество аргументов любого типа; сигнал можно соединять с различным количеством слотов. Отправляемый сигнал поступит ко всем подсоединенным слотам; слот может принимать сообщения от многих сигналов, принадлежащих разным объектам; соединение сигналов и слотов можно производить в любой точке приложения; сигналы и слоты являются механизмами, обеспечивающими связь между объектами. Более того, эта связь может выполняться между объектами, которые находятся в различных потоках; при уничтожении объекта происходит автоматическое разъединение всех сигнально слотовых связей. Это гарантирует, что сигналы не будут отправляться к несуществующим объектам.

Слайд 18





Недостатки
сигналы и слоты не являются частью языка C++, поэтому требуется запуск дополнительного препроцессора перед компиляцией программы;
отправка сигналов происходит немного медленнее, чем обычный вызов функции, который осуществляется при использовании механизма функций обратного вызова;
существует необходимость в наследовании класса QObject;
в процессе компиляции не производится никаких проверок: имеется ли сигнал или слот в соответствующих классах или нет; совместимы ли сигнал и слот друг с другом и могут ли они быть соединены вместе. Об ошибке станет известно лишь тогда, когда приложение будет запущено в отладчике или на консоли. Вся эта информация выводится на консоль, поэтому, для того чтобы увидеть ее в Windows, в проектном файле необходимо в секции CONFIG добавить опцию console (для Mac OS X и Linux никаких дополнительных изменений проектного файла не требуется)
Описание слайда:
Недостатки сигналы и слоты не являются частью языка C++, поэтому требуется запуск дополнительного препроцессора перед компиляцией программы; отправка сигналов происходит немного медленнее, чем обычный вызов функции, который осуществляется при использовании механизма функций обратного вызова; существует необходимость в наследовании класса QObject; в процессе компиляции не производится никаких проверок: имеется ли сигнал или слот в соответствующих классах или нет; совместимы ли сигнал и слот друг с другом и могут ли они быть соединены вместе. Об ошибке станет известно лишь тогда, когда приложение будет запущено в отладчике или на консоли. Вся эта информация выводится на консоль, поэтому, для того чтобы увидеть ее в Windows, в проектном файле необходимо в секции CONFIG добавить опцию console (для Mac OS X и Linux никаких дополнительных изменений проектного файла не требуется)

Слайд 19





Сигналы
Описание:
class MySignal : public QObject {
    Q_OBJECT
signals:
    void dolt();
};
Описание слайда:
Сигналы Описание: class MySignal : public QObject { Q_OBJECT signals: void dolt(); };

Слайд 20





Слоты
Описание слайда:
Слоты

Слайд 21





Соединение объектов
Вид 1 – выявление ошибок соединения на этапе выполнения
Вид 2 – выявление ошибок соединения на этапе компиляции
Описание слайда:
Соединение объектов Вид 1 – выявление ошибок соединения на этапе выполнения Вид 2 – выявление ошибок соединения на этапе компиляции

Слайд 22


Кроссплатформенный фреймворк для разработки программного обеспечения на языке программирования C++, слайд №22
Описание слайда:

Слайд 23


Кроссплатформенный фреймворк для разработки программного обеспечения на языке программирования C++, слайд №23
Описание слайда:

Слайд 24





Разъединение объектов
disconnect
Уничтожение связи при уничтожении объекта (связь это тоже объект принадлежащий 2м «родителям»)
Описание слайда:
Разъединение объектов disconnect Уничтожение связи при уничтожении объекта (связь это тоже объект принадлежащий 2м «родителям»)

Слайд 25





Объектные иерархии
QObject* pobj1 = new QObject;
QObject* pobj2 = new QObject (pobj1) ;
QObject* pobj4 = new QObject (pobj2) ;
QObject* pobj3 = new QObject (pobj2) ;
pobj2->setObjectName ("the first child of pobj1") ;
pobj3->setObjectName ("the first child of pobj2") ;
pobj4->setObjectName ("the second child of pobj2");
Описание слайда:
Объектные иерархии QObject* pobj1 = new QObject; QObject* pobj2 = new QObject (pobj1) ; QObject* pobj4 = new QObject (pobj2) ; QObject* pobj3 = new QObject (pobj2) ; pobj2->setObjectName ("the first child of pobj1") ; pobj3->setObjectName ("the first child of pobj2") ; pobj4->setObjectName ("the second child of pobj2");

Слайд 26


Кроссплатформенный фреймворк для разработки программного обеспечения на языке программирования C++, слайд №26
Описание слайда:

Слайд 27





Метаобъектная информация (moc)
Альтернатива: Метаклассы в С++17 (отказ от MOC, С++/CLI и C++/CX)
Описание слайда:
Метаобъектная информация (moc) Альтернатива: Метаклассы в С++17 (отказ от MOC, С++/CLI и C++/CX)

Слайд 28


Кроссплатформенный фреймворк для разработки программного обеспечения на языке программирования C++, слайд №28
Описание слайда:

Слайд 29





Зачем Qmake
Описание слайда:
Зачем Qmake

Слайд 30





Makefile
Описание слайда:
Makefile

Слайд 31





Qmake
Описание слайда:
Qmake

Слайд 32


Кроссплатформенный фреймворк для разработки программного обеспечения на языке программирования C++, слайд №32
Описание слайда:

Слайд 33





Критика make
Описание слайда:
Критика make

Слайд 34





Критика Qmake
Описание слайда:
Критика Qmake

Слайд 35





Qbs(Qt Build System)
Описание слайда:
Qbs(Qt Build System)

Слайд 36


Кроссплатформенный фреймворк для разработки программного обеспечения на языке программирования C++, слайд №36
Описание слайда:

Слайд 37


Кроссплатформенный фреймворк для разработки программного обеспечения на языке программирования C++, слайд №37
Описание слайда:



Похожие презентации
Mypresentation.ru
Загрузить презентацию