Первое знакомство с Qtopia
Первое знакомство с Qtopia
Приложения Qtopia Core могут разрабатываться на любой платформе, позволяющей запускать цепочки многоплатформенных инструментальных средств. Наиболее распространено построение кросс-компилятора GNU С++ в системе Unix. Этот процесс упрощается благодаря наличию скрипта и набора пакетов обновлений Дана Кегеля (Dan Kegel), доступного на веб-странице http://kegel.com/crosstool/. Поскольку Qtopia Core имеет программный интерфейс Qt, в большинстве разработках, как правило, можно использовать версию Qt для настольных компьютеров, например Qt/X11 или Qt/Windows.
Система конфигурации Qtopia Core поддерживает кросс-компиляторы с помощью опции —embedded скрипта configure. Например, для построения ARM—архитектуры мы могли бы ввести команду
./configure -embedded arm
Можно создавать пользовательские конфигурации путем добавления новых файлов в каталог Qt mkspecs/qws.
Qtopia Core рисует непосредственно в буфере фреймов системы Linux (область основной памяти, связанная с дисплеем). Для обращения к буферу фреймов, возможно, потребуется получить разрешение для записи на устройство /dev/fb0.
Для выполнения приложений Qtopia Core сначала необходимо запустить один процесс, выполняющий функции сервера. Этот сервер отвечает за распределение между клиентами областей экрана и за генерацию событий мышки и клавиатуры. Любое приложение Qtopia Core может стать сервером, если в командной строке указать опцию —qws или в качестве третьего параметра конструктора QApplication передать QApplication::GuiServer.
Клиентские приложения связываются с сервером Qtopia Core при помощи совместно используемой области в основной памяти. Внутренне операции рисования реализованы так, что клиенты рисуют самих себя в совместно используемой области памяти и отвечают за оформление собственных окон. Это сводит к минимуму объем данных, передаваемых между клиентами и сервером, и в результате интерфейс пользователя работает без задержек. Приложения Qtopia Core обычно используют рисовальщик QPainter для рисования самих себя, но они могут также получать непосредственный доступ к видеооборудованию, используя класс QDirectPainter.
Клиенты могут связываться друг с другом при помощи протокола QCOP. Клиент может прослушивать именованный канал, создавая объект QCopChannel и устанавливая связь с его сигналом received(). Например:
QCopChannel *channel = new QCopChannel("System", this);
connect(channel, SIGNAL(received(const QString &, const QByteArray &)),
this, SLOT(received(const QString &, const QByteArray &)));
Сообщение QCOP состоит из имени и необязательного массива QByteArray. Статическая функция QCopChannel::send() передает в широковещательном режиме сообщение по каналу. Например:
QByteArray data;
QDataStream out(&data, QIODevice::WriteOnly);
out << QDateTime::currentDateTime();
QCopChannel::send("System", "clockSkew(QDateTime)", data);
Предыдущий пример иллюстрирует общий прием: для кодирования данных используется поток QDataStream, и для гарантирования правильной интерпретации получателем массива формат данных в сообщении принимает вид функции С++.
На работу приложений Qtopia Core влияют различные переменные среды. Наиболее важными являются QWS_MOUSE_PROTO и QWS_KEYBOARD, которые определяют тип устройства мышки и клавиатуры. Полный список переменных среды приводится на веб-странице http://doc.trolltech.com/4.1/emb-envvars.html.
Если в качестве платформы разработки используется Unix, приложение можно тестировать с использованием виртуального буфера фреймов Qtopia (qvfb) — приложения X11, которое имитирует пиксель за пикселем реальный буфер фреймов. Это значительно сокращает цикл разработки. Для включения поддержки в Qtopia Core виртуального буфера необходимо передать опцию —qvfb скрипту configure. Следует помнить, что эта опция не предназначена для промышленного применения. Приложение виртуального буфера фреймов располагается в каталоге tools/qvfb и может вызываться следующим образом:
qvfb -width 320 -height 480 -depth 32
Другой опцией, работающей на большинстве платформ, является VNC (Virtual Network Computing — вычисление в виртуальной сети), которая используется для удаленного выполнения приложения. Для включения поддержки VNC в Qtopia Core передайте опцию —qt—gfx—vnc в скрипт configure. Затем запустите ваше приложение Qtopia Core с опцией командной строки —display VNC:0 и клиента VNC, ссылающегося на хост, на котором выполняется ваше приложение. Размер экрана и разрядность цвета можно установить с помощью переменных среды QWS_SIZE и QWS_DEPTH на хосте, на котором выполняются приложения Qtopia Core (например, QWS_SIZE=320x480 и QWS_DEPTH=32).
Более 800 000 книг и аудиокниг! 📚
Получи 2 месяца Литрес Подписки в подарок и наслаждайся неограниченным чтением
ПОЛУЧИТЬ ПОДАРОКЧитайте также
Первое знакомство с программой
Первое знакомство с программой Для запуска программы Extra Hide Studio можно использовать соответствующую команду программной папки Пуск ?
Первое знакомство с Internet Explorer
Первое знакомство с Internet Explorer Открывшееся окно обозревателя Интернета (рис. 5.6) очень похоже на окно Проводника – можно сказать, близнецы-братья.После запуска браузера на экране, как правило, начинает загружаться веб-страница. У меня, например, загрузилась страница
1. Первое знакомство с Windows Vista
1. Первое знакомство с Windows Vista Все редакции Windows Vista (от Starter до Ultimate) поставляются на одном лицензионном DVD. По замыслу Microsoft это позволит клиентам быстрее переходить на более продвинутые варианты новой операционной системы. В любое время пользователи смогут установить на
Глава 1. Первое знакомство
Глава 1. Первое знакомство В данной главе показано на примере создания простого приложения с графическим интерфейсом пользователя (GUI — graphical user interface), как можно обычные средства С++ совместить с функциональными возможностями Qt. Здесь также рассматриваются две ключевые
Первое знакомство с С++
Первое знакомство с С++ Программа С++ состоит из одной или нескольких единиц компиляции. Каждая единица компиляции представляет собой отдельный файл исходного кода, обычно имеющий расширение .cpp (другими распространенными расширениями являются .cc и .cxx); она обрабатывается
КОМПАС-3D V10: первое знакомство
КОМПАС-3D V10: первое знакомство Любой современный графический редактор обладает достаточно сложным интерфейсом. Как правило, конструкторские системы, представленные сегодня на рынке САПР, развиваются уже не один год. Они успели за это время накопить множество различных
1.2. Редактор VBA. Первое знакомство
1.2. Редактор VBA. Первое знакомство Запуск редактора VBAКак и любые среды программирования, редактор VBA необходимо сначала запустить. Для запуска можно использовать два способа:1) активизировать любое приложение пакета MS Office (Word, Excel);2) выполнить команду меню: Сервис + Макрос +
Первое знакомство с Microsoft PowerPoint 2007
Первое знакомство с Microsoft PowerPoint 2007 Чтобы запустить программу Microsoft Power Point 2007, выполните команду Пуск ? Все программы ? Microsoft Office ? Microsoft Office PowerPoint 2007. В результате откроется окно приложения, изображенное на рис. 4.1. Рис. 4.1. Интерфейс программы PowerPoint 2007Это главный рабочий
Первое знакомство с программой
Первое знакомство с программой Чтобы запустить программу, выполните команду Пуск ? Все программы ? Microsoft Office ? Microcoft Office Access 2007 или дважды щелкните кнопкой мыши на соответствующем ярлыке Рабочего стола. В результате откроется окно, изображенное на рис. 6.1. Рис. 6.1. Окно
Указатели: первое знакомство
Указатели: первое знакомство Указатели? Что это такое? Вообще говоря, указатель - некоторое символическое представление адреса. Например, ранее мы воспользовались операцией получения адреса для нахождения адреса переменной pooh. В данном случае &pooh означает
Первое знакомство с меню цифровой камеры
Первое знакомство с меню цифровой камеры Итак, камера включена, а ее операционная система загружена. Теперь можно настроить фотоаппарат. Элементов управления у него немного, и большинство функций и настроек доступны только через меню. Изменить настройки вы можете,
2.1. Первое знакомство
2.1. Первое знакомство Операционная система (далее — ОС) Windows разработана корпорацией Microsoft. На сегодняшний день на большинстве домашних компьютеров установлена именно эта ОС. В компьютерном магазине систему вам установят, поэтому через некоторое время после включения
Урок 1.1. Первое знакомство с компьютером
Урок 1.1. Первое знакомство с компьютером Что такое компьютер Наверное, очень трудно найти человека, который никогда не видел компьютер. Однако очень многие люди не могут дать четкое определение, что же это такое. Еще лет 20 назад компьютером называли электронное
Первое знакомство с Internet Explorer 7
Первое знакомство с Internet Explorer 7 Для просмотра размещенных в Интернете веб-страниц служат браузеры (обозреватели) – специальные программы, умеющие загружать веб-страницы на ваш компьютер, отображать их и выполнять переходы по ссылкам. В состав Windows Vista входит седьмая