Краткий обзор кроссплатформенного фреймворка Qt

QtQt —  это кроссплатформенный фреймворк для разработки ПО на языке программирования C++(и не только). Также имеется и для Ruby — QtRuby, для Python — PyQt, PHP — PHP-Qt и других языков программирования. Разрабатывается компанией Trolltech с 1996 года.

С использованием этого фреймворка написано множество популярных программ: 2ГИС для Android, Kaspersky Internet Security, Virtual Box, Skype, VLC Media Player, Opera и другие. KDE — это одно из окружений рабочего стола со множеством программ для Linux написано с использованием фреймворка Qt.

Qt полностью объектно-ориентированная, кросс-платформенная. Дает возможность разрабатывать платформо-независимое ПО, написанный код можно компилировать для Linux, Windows, Mac OS X и других операционных систем. Включает в себя множество классов для работы с сетью, базами данных, классы-контейнеры, а также для создания графического интерфейса и множество других(чуть ниже).

Qt использует MOC (Meta Object Compiler) для предварительной компиляции программ. Исходный текст программы обрабатывается MOC, который ищет в классах программы макрос Q_OBJECT и переводит исходный код в мета-объектный код, после чего мета-объектный код компилируется компилятором C++. MOC расширяет функциональность фреймворка, благодаря ему добавляются такие понятия, как слоты и сигналы.

В Qt имеется огромный набор виджетов (Widget), таких как: кнопки, прогресс бары, переключатели, checkbox, и другие — они обеспечивают стандартную функциональность GUI (графический интерфейс пользователя). Позволяет использовать весь функционал пользовательского интерфейса — меню, контекстные меню, drag&drop.

Одно окно в разных ОС

Одно окно в разных ОС

Как видно на картинке, программы имеют родной внешний вид в различных операционных системах.

Qt имеет среду разработки Qt Creator. Она включает в себя Qt Designer, с помощью которого можно создавать графический интерфейс. Визуальное создание интерфейса позволяет легко и просто создавать интерфейс, перетаскивая различные виджеты(выпадающие списки, кнопки, переключатели) на форму.

Форма в Qt Designer

Форма в Qt Designer

Qt поставляется вместе с Qt Assistant — это огромный интерактивный справочник, содержащий в себе информацию по работе с Qt. К сожалению полностью не переведен на русский. В состав Qt также входит Qt Linguist, которая позволяет локализировать приложение для разных языков.

Состав библиотеки Qt

Библиотека Qt состоит из различных модулей, которые подключаются при помощи директивы #include. В состав входят:

QtCore — классы ядра библиотеки Qt, они используются другими модулями.

QtGui — модуль содержит компоненты графического интерфейса.

QtNetwork — модуль содержит классы для работы с сетью. В него входят классы для работы с протоколами FTP, HTPP, IP и другими.

QtOpenGL — модуль содержит классы для работы с OpenGL

QtSql — содержит классы для работы с различными базами данных с использованием языка SQL.

QtSvg — содержит классы, позволяющие работать с данными Scalable Vector Graphics (SVG)

QtXml — классы для работы с XML

QtScript — классы для работы с Qt Scripts

Имеются и другие модули.

В данный момент Qt распрастраняется по 3-м лицензиям: Qt Commercial(собственическая), GNU GPL, GNU LGPL.

Заключение

В настоящее время Qt фреймворк активно развивается. Имеет интуитивно понятное API, огромную документацию с большим количеством примеров, мощнейшую среду разработки QtCreator и дополнительный инструментарий. Этот фреймворк стоит Вашего внимания.

Краткий обзор кроссплатформенного фреймворка Qt: 1 комментарий

  1. Lemiff

    Использую его при написании графических приложений для Linux, классная штука. Жаль литературы нет русскоязычной для последней версии.

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *