2015-06-19 2 views
0

Как приложение Qt GUI запускает отдельные графические приложения в разных процессах и управляет их окнами?Как управлять отдельными процессами графического интерфейса в приложении Qt?

Предположим, у меня есть вызов приложения Qt myApp. Пользователь может запускать внешнее приложение, доступное в ОС, из myApp, которые запускаются в их собственном отдельном процессе. Я знаю о QProcess, но сложная часть, которую я не смог понять, - это управлять окнами. myApp должен будет иметь собственные заголовки для окон, а также быть кросс-платформенными. Если я запустил приложение, скажем, калькулятор в Windows, как мне избавиться от строки заголовка ОС и оконного фрейма с ОС по умолчанию, а затем, как мне управлять положением и геометрией этого окна?

Дополнительная информация: Идея состоит в том, чтобы иметь возможность расширять myApp, в том числе третьими сторонами, путем добавления новых сервисов, которые реализованы на любом языке и любом наборе инструментов GUI. Кроме того, если служба выходит из строя, она не должна влиять на myApp или другие службы. Чтобы использовать аналогию, представьте, что в Visual Studio редактор был реализован в C и его графическом интерфейсе в GTK, debuger в C++ и его интерфейсе в Qt и т. Д., И все выглядело один.

+0

Не могли бы вы описать, что вы пытаетесь сделать более подробно? Это звучит как очень необычная проблема, которую вы пытаетесь решить. – MrEricSir

+0

@MrEricSir Я добавил более подробную информацию. Дайте мне знать, если у вас возникнут дополнительные вопросы. –

ответ

0

От всего, что я получил от вас, и от любого Qt, которого я знаю, Qt не поддерживает обработку другого приложения (например, изменение позиции). Таким образом, вам придется обрабатывать приложения на разных платформах по-разному. т. е. если ваш myApp находится в окнах и запускается программа калькулятора. Затем вы можете использовать winApis для обработки приложения калькулятора, как вы можете использовать SetWindowPos для установки его pos и т. Д.

Смежные вопросы