Илья Ковалевский "Что такое Qt и что с ним можно сделать"
-
Upload
dmitry-savchenko -
Category
Technology
-
view
10.797 -
download
2
Transcript of Илья Ковалевский "Что такое Qt и что с ним можно сделать"
One framework to rule them all
Qt
Что такое Qt?
Qt (произносится «къют») — кросс-платформенный инструментарий разработки ПО на языке программирования C++. Кроме того, доступны различные биндинги для Python, Ruby, Java, PHP и других. Позволяет запускать написанное с его помощью ПО в большинстве современных операционных систем путём простой компиляции программы для каждой ОС без изменения исходного кода. Qt является полностью объектно-ориентированным, легко расширяемым и поддерживающим технику компонентного программирования.
Возможности Qt
Qt – это не GUI фреймворк
● Бытует мнение, что Qt – это только фреймворк для разработки графического интерфейса; что на большее он не годится. Это – ложь.
● Qt – это целый комплекс компонентов, которые упрощают разработку ПО, так называемых модулей.
● Среди основных модулей Qt находятся: QtCore, QtWidgets, QtScript, QtXml, QtSql, QtNetwork, и многие другие.
Qt Project и Digia
● В данный момент поддержкой (L)GPL версией Qt занимается Qt Project – свободный проект разработчиков со всего мира.
● Это не мешает Digia держать коммерческую версию продукта и развивать проект в рамках Qt Project.
● Ранее права на Qt пренадлежали Trolltech, позже Nokia, а с 2012 года по настоящее время – компании Digia.
● Проект регулярно проводит конференции Qt Developer Days и Qt Contributors' Summit.
А как он поможет мне?
● MOC – мета-объектный компилятор
● QtCore – огромная библиотека классов для всего
● QML – концептуально новый подход к разработке User Interface
● OpenGL – полная поддержка и интеграция
● … и уйма других компонентов, которые могут нехило облегчить вам жизнь
We need to go deeper...
QML
QML in Creator
Тот же самый QML
Мета-объектный компилятор
MOC очень хорош. Сложно представить Qt без него. На нем-то все и завязано.
Примерно вот так и выглядит класс-пустышка на Qt c использованием некоторых плюшек MOC (об одной из них пойдет речь далее). На деле, этот хедер генерирует основу для программы с GUI.
Просто, не так ли?
Сигнально-слотовое соединение
Чего стоит кросс-платформеность?
Помоги мне, помоги мне...
Qt Creator
Qt Designer
Qt Linguist
Qt Assistant
Qt Creator
Qt Designer
Qt Assistant
И кто его использует?
KDE
Google Earth
VLC Media Player
Oracle Virtual Box
Q&A
Вопросики.