Qt, портативная инфраструктура для настольных и мобильных ПК

Графический интерфейс для рабочего стола и мобильных устройств, который можно найти даже на фасадах виртуального 3D-декора!

Qt (cute) - графическая библиотека для разработки GUI, графический интерфейс пользователя, мультиплатформенный, который включает Linux, Windows, Android и iOS.
Она предлагает графические компоненты интерфейса, виджеты, а также другие для доступа к базам данных, обработки XML-файлов, API файловой системы.
Инструмент разработки, Qt Creator предлагается бесплатно для выполнения Qt приложений.

Qt creator
Qt Creator - специализированный EDI для Qt-приложений

Среди основных приложений с использованием Qt - среда Linux KDE, браузер Opera (под Linux), VLC, Google Планета Земля, Skype.

Версия 5 включает компилятор V8. Тенденция заключается в использовании C++ для создания модулей, в то время как JavaScript является языком интерфейса.

Версия 5.4 делает устаревшим модуль рендеринга WebKit, заменённый на WebEngine на базе Chromium. С помощью WebChannel JavaScript и собственный код могут общаться, а объекты, созданные в C++, могут использоваться в HTML-приложении. Также поддерживается WebSocket.

Виджет Qt можно вставить в 3D-сцену, как это видно на демонстрационном видео WolfenQt. Используя классический алгоритм игры Wolfenstein 3D, ты помещаешь в стены виджет для отображения любого приложения на стенах лабиринта. Быстрое отображение получается путем микширования графической библиотеки OpenGL с кодом Qt

Qt разработана компанией Trolltech, приобретенной в 2008 году компанией Nokia. Trolltech становится Qt Software. В августе 2012 года Nokia уступает Qt финской компании Digia, цель которой - перенести его на все платформы, включая Android и Windows 8. В 2014 году Дигия решила основать отдельную компанию, полностью посвященную Qt.

Qt и JavaScript

Можно ли сделать Qt-программу на JavaScript? Речь идет не об использовании JavaScript в сочетании с компонентами Qt, как это делает Qt Quick, а о написании программ на JavaScript с помощью Qt. Это для того, чтобы использовать хорошо известный скриптовый язык, если ты вебмастер, на локальном посту с графическим интерфейсом...

Это объект модуля node-qt, который работает с Node.js. Эта платформа позволяет использовать JavaScript в командной строке, и этот модуль интегрирует Qt с платформой.
Для его использования необходимо:

  1. Установить Node.js.
  2. Установите node-qt, с командой: npm install node-qt
  3. .
  4. Включить модуль в сценарий с инструкцией :
    var qt = require('node-qt');
    
  5. Создать приложение с помощью:
    var app = new qt.QApplication;
  6. Создать окно с помощью
  7. :
    var window = new qt.QWidget;
  8. Затем в окно можно добавить содержимое с помощью метода :
    window.paintEvent(function() { ... }

Все это делается простым текстовым редактором.

Подробнее - в материале node-qt на Githube. Конечно, интеграция в Node позволяет передавать друг другу программы разного происхождения, так как Qt-интерфейс может сосуществовать с HTML-страницами, PHP-скриптами, как показано в разделе JavaScript этого сайта.

Qt и мобильные устройства

Nokia разработала Qt Quick для мобильных и планшетных ПК - фреймворк, предлагающий компоненты для создания интерфейсов. Эта облегченная версия подходит для сенсорных экранов. Он включает язык QML, версию JavaScript, время выполнения для доступа к системным функциям. Программист может использовать его с Qt Creator.

После объявления о партнерстве Nokia и Microsoft, а также выбора Windows Phone 7 в качестве льготной системы для смартфонов, разработчики беспокоятся, когда в будущем Qt.
Тем не менее, Nokia подтвердила поддержку Qt, работающей на Symbian и Meego, решила разработать его, наняв новых разработчиков, но в 2012 году полностью отделилась от платформы в пользу Digia.
После замены Meego на Tizen, чей привилегированный интерфейс - HTML 5, Qt становится ещё более маргинализированным на мобильных устройствах. Однако, поскольку интерфейс стал совместим с Android и iOS (начиная с версии 5.1), остается возможность разработки под Qt для мобильных устройств рядом со стандартной платформой.

Зная, что Qt использует JavaScript для интерфейса и встроил компилятор V8, его интерес, кажется, снижается на мобильных устройствах, где можно также использовать Node в сочетании с HTML 5 для получения полного пользовательского интерфейса (см. раздел JavaScript на этом сайте ).

В настоящее время можно запускать приложения Qt под Android, iOS, Blackberry и он является фреймворком нативных приложений под ОС Sailfish и Ubuntu Touch. Однако приложение вне Sailfish будет иметь внушительный размер.

Для создания Android-приложений с коммерческой лицензией и всеми включенными инструментами в 2014 году предлагается специальный пакет. На самом деле Qt действительно можно использовать на мобильных устройствах только с этой коммерческой лицензией, которая предоставляет компилятор QML.

См. также

Ссылки и ресурсы