Новичок в Qt4 встраиваемых Linux - управление приложениями, развертывание и общая архитектура? - PullRequest
2 голосов
/ 20 февраля 2012

Прежде всего, я очень извиняюсь за то, что задал такие основные вопросы.Я нахожусь в процессе принятия решения, следует ли мне использовать Qt на встроенном устройстве linux (первая попытка будет на EVI TI OMAP) для разработки пользовательского интерфейса, а также для управления приложениями, которые запускаются на устройстве (а также добавлением удаления приложений во время выполнения).загрузка программного обеспечения по беспроводной сети).

Я читаю справочную документацию по Nokia Qt и чувствую, что пропустил базовый шаг в моем понимании.

Если можно, простоуточнить, что я имею в виду под приложением (я не уверен, что прочитанная мной документация Qt согласуется с этим): Приложение - это программа, которая работает на устройстве и использует службы этого устройства.Поэтому я полагаю, что могу использовать Qt в качестве каркаса приложения и вызывать (или запускать) приложения Qt из него.Примеры приложений: почтовый клиент, картография, записная книжка и т. Д. Я бы предусмотрел одно главное окно, в котором есть список доступных приложений (например, значки, такие как Android и т. Д.), А затем приложения запускаются из этого главного окна.Если события поступают из системы, то структура приложения будет соответствующим образом маршрутизировать события, и вполне возможно, что это заставит другое приложение использовать весь экран.

Я изо всех сил (как полный новичок), чтобыпонять, означает ли это, что мне нужно запускать приложение, а затем запускать приложения из этого, или если в архитектуре Qt есть какой-то встроенный механизм для запуска этого типа приложений.

Поэтому вместо того, чтобы задавать вопрос непосредственно оКак это сделать, мне, очевидно, нужно начать с основ.Я читал об архитектуре QWSServer и QWSClient, и это имеет неопределенный смысл.Однако я не могу найти информацию о том, как:

  • запускать приложения или управлять ими.(Кто запускает / приостанавливает приложение?)
  • Модели развертывания приложений (Они находятся в том же процессе или потоке Linux, что и QWSServer?)
  • Как добавить приложение во время выполнения?

Полагаю, я пропустил ослепительно очевидный документ верхнего уровня, объясняющий этот вид основных функций.Может быть, мне стоит потратить время на загрузку SDK и на самом деле попробовать использовать Qt (извините, у меня сейчас мало времени на правильную работу :()

Так что, если кто-то может указать мнев направлении соответствующих документов это будет очень цениться!

Ответы [ 2 ]

1 голос
/ 20 февраля 2012

Qt - это оконный инструментарий, а не оконный менеджер.

Существует несколько проектов оконных менеджеров Qt для небольших устройств, и, конечно, весь KDE написан на Qt.

Qt / Embedded - это на самом деле просто Qt, вплоть до аппаратного обеспечения, а не полагаться на операционную систему или X windows для рисования.Я думаю, что вы можете путать Qt с одной из мобильных операционных систем Nokia, которые используют Qt для своего графического интерфейса.

0 голосов
/ 24 февраля 2012

QWS - это оконная система, специально разработанная для поддержки приложений Qt во встроенных ситуациях, в которых может не быть другого оконного менеджера (или приемлемо облегченного). Это немного меньше, чем у тяжеловесов, таких как KDE или gnome, но работает в том же духе. Однако один из аспектов этого заключается в том, что вы можете разработать свой собственный плагин для рисования оконных рам, заголовков и т. Д., Чтобы придать им стиль, который вы хотите.

Что касается QWS, вы спрашивали о:

  • запуск приложений или управление ими. (Кто запускает / приостанавливает приложение?)

Операционная система запускает и приостанавливает приложения. QWS - это система управления окнами, а не операционная система. В тех случаях, о которых я знаю, он работает поверх вариантов Linux. Предполагаемое главное окно, вероятно, лучше всего разработать как собственное приложение, которое каким-либо образом запускает другие приложения.

  • Модели развертывания приложений (они находятся в том же процессе или потоке Linux, что и QWSServer?)

Они обычно находятся в других процессах, кроме оконного сервера. Конечно, в зависимости от того, как вы их запускаете, они могут находиться в том же процессе или в другом процессе, что и ваше приложение панели запуска. Остерегайтесь потенциальной проблемы запуска его в одном и том же процессе: у вас может быть только один экземпляр QApplication в данном процессе.

  • Как добавить приложение во время выполнения?

Я бы предположил, что ваша панель запуска предоставит механизм для добавления приложения, которое поместит его в соответствующее место на диске. Вы можете использовать это, чтобы сделать любое количество вещей, чтобы изменить список приложений для запуска. Одним из примеров было бы просто обновить ваш графический интерфейс на основе благословенного каталога. Другой вариант может заключаться в том, чтобы иметь отдельный плагин в комплекте с приложениями, и ваше приложение панели запуска загружает эти плагины для получения информации о приложениях. На самом деле, возможности здесь практически безграничны, при условии, что вы предоставляете точку входа для установки приложений в системе.

...