Проблемы с несколькими приложениями - PullRequest
4 голосов
/ 01 ноября 2009

Может кто-нибудь помочь мне понять, в чем проблемы запуска нескольких QApplication s на Qt для встраиваемых Linux-систем? Пожалуйста, укажите мне некоторую документацию по темам списка рассылки.

Просматривая некоторые письма в списках рассылки, я видел некоторые комментарии, в которых говорится, что запуск нескольких QApplication в Qt не поддерживается проектом, и зачем вообще это требуется? Как я могу понять это более ясно?

Однако, читая документ «Архитектура Qt для встраиваемых Linux-систем», я не нашел ничего, что говорило бы, что мы не должны запускать несколько экземпляров QApplication одновременно.

Я выполняю два QApplication с на платформе Embedded Linux (не ПК) и один из них в полноэкранном режиме. Тот, который находится в режиме fullScreen, не получает фокус клавиатуры, хотя получает события mousePress. Если такое же приложение запускается в normalMode, оно получает событие mousePress, за которым следует focusInEvent`.

Может ли кто-нибудь предоставить указатели на него?

Ответы [ 3 ]

3 голосов
/ 02 ноября 2009

Вы можете отлично запустить несколько процессов, каждый с одним приложением QApplication.

Однако в Qt для встраиваемых Linux-систем только QWS-сервер должен быть только один из них. Другими словами, вы должны начать первый процесс с `-qws ', а все остальные процессы без.

2 голосов
/ 02 ноября 2009

QApplication является одноэлементным классом, поэтому его «одиночный» дизайн. Вы можете иметь только один объект QApplication для каждой программы.

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

Возможно, это как-то запуталось в ваших списках рассылки.

0 голосов
/ 02 ноября 2009

Я предполагаю, что одно приложение QApplication будет принимать событие мыши или клавиатуры, и, следовательно, другое не получит его.

Вероятно, немного случайно, какое приложение QApplication принимает, какие события основаны на наличии большого количества приложений QA в одном процессе.

Я не могу представить сценарий использования того, почему вам нужно несколько QApplications в процессе. Не могли бы вы рассказать о том, что вы пытаетесь сделать?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...