### Dogma - украинское интернет-издание, посвящённое компьютерной платформе Amiga.

# Qt 4.7 под AmigaOS 4.x

### 10.2013
Автор: -=/ Epsilon /=-
Перевод и дополнения: -=/ Julia /=-

#### Сегодня я хотел бы поговорить о кроссплатформенном инструментарий разработки программного обеспечения на языке программирования C++ и имплементированной её версии Qt 4.7, под современную операционную систему AmigaOS 4 в релизе версии 0.9.0.

> Разработчики: команда Qt Development Frameworks.
> Версия релиза: 4.7 (порт 0.9.0).
> Порт под AmigaOS 4: Alfkil Wennermark.
> Жанр: API / application framework.
> Дата релиза: 2013 год.
> Минимальные системные требования: AmigaOS 4.1 MiniGL.
> Лицензия: LGPL.

# Введение

Что такое среда разработки Qt? Это сфера применения библиотек разработчика ещё со времён своего появления в 1996 году, данная библиотека Qt легла в основу тысяч успешных проектов по всему миру. Qt позволяет запускать написанные с её помощью программы в большинстве современных операционных систем - Windows, MacOS X и Linux, путём простой компиляции программы для каждой из операционных систем без изменения исходного кода. Она включает в себя все основные классы, которые могут потребоваться при разработке прикладного программного обеспечения, начиная от элементов графического интерфейса и заканчивая классами для работы с сетью, базами данных и XML. Qt является полностью объектно-ориентированным, легко расширяемым и поддерживающим технику компонентного программирования.

Отличительная особенность Qt от других библиотек — использование Meta Object Compiler (MOC) — предварительной системы обработки исходного кода (в общем-то, Qt — это библиотека не для чистого C++, а для его особого наречия, с которого и «переводит» MOC для последующей компиляции любым стандартным C++ компилятором). MOC позволяет во много раз увеличить мощь библиотек, вводя такие понятия, как слоты и сигналы. Кроме того, это позволяет сделать код более лаконичным. Утилита MOC ищет в заголовочных файлах на C++ описания классов, содержащие макрос Q_OBJECT и создаёт дополнительный исходный файл на C++, содержащий метаобъектный код.
Qt позволяет создавать собственные плагины и размещать их непосредственно в панели визуального редактора разработки. Также существует возможность расширения привычной функциональности виджетов, связанной с размещением их на экране, отображением, прорисовкой при изменении размеров искомого окна.
В рамках использования библиотек Qt была использована технология таких известных приложений, как Google Earth, Skype, VLC и VirtualBox. Это и послужило хорошим предзнаменованием и неким толчком для будущего развития этого пакета под современную операционную систему AmigaOS 4.
На данный момент библиотека Qt доступна на портале поддержки - OS4Depot.net, где немного позже и был представлен целы ряд программ в последствии портированных под AmigaOS 4.
Уже немного позже стал доступен небольшой патч (Quickfix 7) - устраняющий небольшие допущенные ранее ошибки и обновляющий систему Qt в целом до последней версии.
Тут стоит обратить внимание, что практически большинство Qt приложений требуют наличие аппаратного 3D-ускорения, в моём случае платформы х1000, мне потребуется работоспособность второй 3D видео карты, к примеру Radeon 9250 дабы обеспечить работоспособность среды Wazp3D.

# Установка

Основной архив библиотек системы Qt довольно большой, он содержит около 400 MB архивной информации и около 1 ГБ уже распакованного установленного контента. Объём довольно большой отчасти из-за наличия пакета разработки SDK (Software Development Kit), который необходим разработчикам для непосредственной работы с средой Qt.
Архив представляет собой файл Qt в формате GZip/Tar, требующий двойную распаковку представленного архива, что и продемонстрировано на скриншоте ниже.

После процесса распаковки архива GZip/Tar формата, заходим в получившийся каталог «Qt4.7», где и запускаем инсталляционный скрипт "Install Qt v4.7".

Обратите внимание, что среда разработки вносит свои изменения в базовую структуру операционной системы, иными словами после завершения процесса установки вам будет предложено перезапустить свою систему - предложив следующее системное уведомление.

Перед перезапуском открываем системный файл «user-startup» и вносим в него следующие изменения изложенные на скриншоте ниже, добавляя строку "dir sobjs: >NIL:".

Внимание!
И только после внесённого изменения и его сохранения, производим процесс перезагрузки операционной системы, если не произвести данную манипуляцию при запуске системы мы получим ошибку загрузки!
После перезагрузки, открываем каталог "Qt-4.7" и создаём в нём папку «Apps», дабы размещать в неё позже скачанные Qt системные приложения, это также решит вам и проблему с будущими автоматическими обновлениями используемых приложений и программ.

Далее для удобства будущего использования данных приложений среды Qt помещаем иконку «SubDock.docky» непосредственно в саму панель AmiDock и переименовываем её в "Qt Apps", таким образом получаем своеобразную внутреннюю панель используемую для быстрого доступа ко всем установленным Qt приложениям.

## Среда Qt и демонстрация её возможностей

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

Первым из них запустим QTextEdit - это нечто иное как простейший текстовый редактор поддерживающий формат RTF (Rich Text Format) и тут я смею заметить первые незначительные недочёты проявившиеся в некорректном отображении верхнего контекстного меню, что и показано ниже на скриншоте.

Немного разобравшись и покопавшись в настройках я нашёл решение этой проблемы - простой настройкой изменения стиля в "Qt Prefs», расположившейся в системном каталоге "System: Prefs".

А для улучшенной совместимости перейдём в закладку "Painting" и установим галочку в поле "Native Paint Engine".

После проведённых изменений сохраняем и перезапускаем приложение QTextEdit, теперь всё в полном порядке!

Далее в качестве эксперимента были протестированны и другие предложенные приложения, такие как Books (менеджер и каталогизатор), Spreadsheet (электронные таблицы) and Qt Demo Browser (веб-браузер):

Spreadsheet (электронные таблицы)
Books (менеджер и каталогизатор)
Qt Demo Browser (веб-браузер)

Тут стоит обратить внимание на тот факт, что реализация JavaScript движка в браузере Qt реализовано довольно поверхностно, в следствии чего работает он с данным контекстом довольно медленно, и это я даже не затрагиваю поддержку YouTube контента в формате HTML5 - который скорее всего попросту тут не работоспособен.

После знакомства с данными немногочисленными демо-приложениями, я перешёл непосредственно к полноценным программам уже портированным под AmigaOS 4. Первой из которых стала qMetro, утилита являющаяся планировщиком маршрутов по метрополитену к примеру Лондона или Москвы.

По умолчанию карты метрополитена Токио нет (я довольно часто там бываю), но это не беда, скачать её вы сможете на сайте поддержки программы:

Тут всё просто скачиваем необходимую нам карту метрополитена, распаковываем и копируем данный файл в папку «maps», и перезапускаем приложение qMetro:

Теперь к примеру, мне требуется проложить маршрут с отправной точки моего движения станции Shirokane Takanawa, до точка назначения станции Akihabara (одно из моих любимых мест отдыха в Токио), после программа сама выделит наиболее рациональный участок движения вашего маршрута, всё просто:

Это очень удобно, приложение само показывает вам все промежуточные станции вашего следования маршруту, естественно для большей совместимости следует использовать последнюю обновлённую версию.
Следующим приложением стала среда разработки - Edyuk.

Данное приложение при своём первом запуске заставит вас немного подождать, связано это с загрузкой и созданием множества временных файлов, позже используемых программой.
Далее Gottet - довольно простой и не прихотливый клон знаменитого тетриса, жаль что в текущей версии отсутствует регулятор аудио контента, поэтому нам пока что предлагают сыграть без звука…

Эта идея стала не очень интересной, поэтому я решил поиграть в слова - Tanglet, игра наподобие знаменитого «эрудита» - где нам также предстоит формировать слова с помощью сетки букв.

Далее была Simsu - клон знаменитой Sudoku.

Последней протестированной игрой стала - Tetzle, игра-головоломка, целью которой является сбор развалившейся на части картинки-изображения.

# Итоги

Я надеюсь, что этой статьёй я немного приоткрыл вам завесу тайны над приложениями Qt библиотеки уже доступной всем нам под операционной системой AmigaOS 4, текущая версия 0.9.0 даже в тестовом режиме работает очень даже стабильно, как показала моя практика на платформе х1000, проблем со скоростью работы приложений также замечено не было.
Я уверен, что данной системе под AmigaOS 4 жить и процветать, тем более что уже сейчас готовиться порт следующей обновлённой версии Qt библиотек!
Тут хочется выразить слова благодарности команде разработчиков и порта под AmigaOS 4, а также авторам различных портированных приложений - как говориться увидимся в обозримом будущем!

## Назад