Russian Qt Forum

Qt => Пользовательский интерфейс (GUI) => Тема начата: phoenixyak от Июнь 17, 2022, 15:31



Название: MDI из окон разных процессов
Отправлено: phoenixyak от Июнь 17, 2022, 15:31
Как можно организовать Multi document Interface из окон от разных процессов?.

т.е Есть один процесс с главным окном и другой процесс с окном которое нужно поместить внутрь главного..

Есть какой механизм в Qt для возможности сделать так?

ps. Работаю под WINDOWS7 с QT 5.12


Название: Re: MDI из окон разных процессов
Отправлено: DarkHobbit от Июнь 20, 2022, 14:38
Критично, что именно другой ПРОЦЕСС?

Я в своё время делал MDI-отображение нескольких программ в одном MDI. Но эти программы были реализованы как DLL (Windows) и SO (Linux), то есть специально написаны под данную оболочку. Грузились по запросу пользователя, из списка, список формировался динамически. Процесс был один. Многопоточность, естественно, в программах можно было организовать своими силами.

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


Название: Re: MDI из окон разных процессов
Отправлено: phoenixyak от Июнь 20, 2022, 16:38
Что из разных процессов принципиально.
Все программы пишу я сам, т.е  скомпилировать могу как хочу.
Без WINAPI тут не обойтись походу.

Знаю, что можно получить Handle окна WINAPI из widget.
Но вот вопрос будет ли главное окно MDI созданное в QT окном MDI из WINAPI? И можно ли как-то QT widget из другого процесса присоединить к этому MDI через WINAPI?
Никогда не делал MDI через WINAPI


Название: Re: MDI из окон разных процессов
Отправлено: DarkHobbit от Июнь 22, 2022, 10:57
Что из разных процессов принципиально.
Все программы пишу я сам, т.е  скомпилировать могу как хочу.

Если сам пишешь - то почему принципиально, чем вариант с DLLями не устраивает? Надо, чтобы программы могли запускаться не только из оболочки, но и самостоятельно? Если да, то это в принципе аргумент, хотя и тут можно извернуться.

Цитировать
Без WINAPI тут не обойтись походу.
В 2022 году человек, добровольно, не под пытками, прибивающий свою программу гвоздями к Windows, вызывает, мягко говоря, недоумение.