Илья Ковалевский "Что такое Qt и что с ним можно сделать"

23
One framework to rule them all Qt

Transcript of Илья Ковалевский "Что такое Qt и что с ним можно сделать"

Page 1: Илья Ковалевский "Что такое Qt и что с ним можно сделать"

One framework to rule them all

Qt

Page 2: Илья Ковалевский "Что такое Qt и что с ним можно сделать"

Что такое Qt?

Qt (произносится «къют») — кросс-платформенный инструментарий разработки ПО на языке программирования C++. Кроме того, доступны различные биндинги для Python, Ruby, Java, PHP и других. Позволяет запускать написанное с его помощью ПО в большинстве современных операционных систем путём простой компиляции программы для каждой ОС без изменения исходного кода. Qt является полностью объектно-ориентированным, легко расширяемым и поддерживающим технику компонентного программирования.

Page 3: Илья Ковалевский "Что такое Qt и что с ним можно сделать"

Возможности Qt

Page 4: Илья Ковалевский "Что такое Qt и что с ним можно сделать"

Qt – это не GUI фреймворк

● Бытует мнение, что Qt – это только фреймворк для разработки графического интерфейса; что на большее он не годится. Это – ложь.

● Qt – это целый комплекс компонентов, которые упрощают разработку ПО, так называемых модулей.

● Среди основных модулей Qt находятся: QtCore, QtWidgets, QtScript, QtXml, QtSql, QtNetwork, и многие другие.

Page 5: Илья Ковалевский "Что такое Qt и что с ним можно сделать"

Qt Project и Digia

● В данный момент поддержкой (L)GPL версией Qt занимается Qt Project – свободный проект разработчиков со всего мира.

● Это не мешает Digia держать коммерческую версию продукта и развивать проект в рамках Qt Project.

● Ранее права на Qt пренадлежали Trolltech, позже Nokia, а с 2012 года по настоящее время – компании Digia.

● Проект регулярно проводит конференции Qt Developer Days и Qt Contributors' Summit.

Page 6: Илья Ковалевский "Что такое Qt и что с ним можно сделать"

А как он поможет мне?

● MOC – мета-объектный компилятор

● QtCore – огромная библиотека классов для всего

● QML – концептуально новый подход к разработке User Interface

● OpenGL – полная поддержка и интеграция

● … и уйма других компонентов, которые могут нехило облегчить вам жизнь

Page 7: Илья Ковалевский "Что такое Qt и что с ним можно сделать"

We need to go deeper...

Page 8: Илья Ковалевский "Что такое Qt и что с ним можно сделать"

QML

Page 9: Илья Ковалевский "Что такое Qt и что с ним можно сделать"

QML in Creator

Page 10: Илья Ковалевский "Что такое Qt и что с ним можно сделать"

Тот же самый QML

Page 11: Илья Ковалевский "Что такое Qt и что с ним можно сделать"

Мета-объектный компилятор

MOC очень хорош. Сложно представить Qt без него. На нем-то все и завязано.

Примерно вот так и выглядит класс-пустышка на Qt c использованием некоторых плюшек MOC (об одной из них пойдет речь далее). На деле, этот хедер генерирует основу для программы с GUI.

Просто, не так ли?

Page 12: Илья Ковалевский "Что такое Qt и что с ним можно сделать"

Сигнально-слотовое соединение

Page 13: Илья Ковалевский "Что такое Qt и что с ним можно сделать"

Чего стоит кросс-платформеность?

Page 14: Илья Ковалевский "Что такое Qt и что с ним можно сделать"

Помоги мне, помоги мне...

Qt Creator

Qt Designer

Qt Linguist

Qt Assistant

Page 15: Илья Ковалевский "Что такое Qt и что с ним можно сделать"

Qt Creator

Page 16: Илья Ковалевский "Что такое Qt и что с ним можно сделать"

Qt Designer

Page 17: Илья Ковалевский "Что такое Qt и что с ним можно сделать"

Qt Assistant

Page 18: Илья Ковалевский "Что такое Qt и что с ним можно сделать"

И кто его использует?

Page 19: Илья Ковалевский "Что такое Qt и что с ним можно сделать"

KDE

Page 20: Илья Ковалевский "Что такое Qt и что с ним можно сделать"

Google Earth

Page 21: Илья Ковалевский "Что такое Qt и что с ним можно сделать"

VLC Media Player

Page 22: Илья Ковалевский "Что такое Qt и что с ним можно сделать"

Oracle Virtual Box

Page 23: Илья Ковалевский "Что такое Qt и что с ним можно сделать"

Q&A

Вопросики.