Название: Другое приложение как окошко в MDI программе Отправлено: IUnknown от Июня 22, 2005, 15:04 У меня есть MDI приложение и мне нужно что-бы другое приложение было запущено прямо в нем (как одно из окон документов). Кто подскажет как это организовать?
Название: Другое приложение как окошко в MDI программе Отправлено: Sergeich от Июня 22, 2005, 16:20 Если это винда, попробуй использовать QWinHost из Qt/MFC Migration Framework ( часть Qt Solutions ), дока здесь http://doc.trolltech.com/solutions/qtwinmigrate/qwinhost.html, скачать можешь здесь http://hardclub.donntu.edu.ua/projects/qt/components/qtsol.htm
Название: Другое приложение как окошко в MDI программе Отправлено: IUnknown от Июня 22, 2005, 17:17 Это не винда. Мы используем FreeBSD.
Название: Другое приложение как окошко в MDI программе Отправлено: Sergeich от Июня 22, 2005, 17:29 Тады юзай XEmbed из Qt Solutions
Название: Другое приложение как окошко в MDI программе Отправлено: Sergeich от Июня 22, 2005, 19:14 Это можно сделать через QtXEmbedContainer, установи себе XEmbed, там в каталоге examples/swallow есть примерчик как это сделать. Тока есть одна проблема - надо знать WId окна. В принципе если все приложения, запускаемые в данной системе написаны вами, она решается - каждый раз при создании окна надо будет передавать WId MDI-приложению ( WId можно получить через QWidget::winId() ).
Название: Другое приложение как окошко в MDI программе Отправлено: IUnknown от Июня 22, 2005, 20:02 Тоесть мне нужно будет в приложениях писать дополнительный код для того что бы передать информацию приложению которое его запускает?! А без этого никак нельзя?
Название: Другое приложение как окошко в MDI программе Отправлено: IUnknown от Июня 22, 2005, 21:32 Так как мне получать Wid запускаемого приложения? Есть команда типа exec() которая бы возращала бы еще и Wid запущеного приложения. А как его получает xwininfo?
Название: Другое приложение как окошко в MDI программе Отправлено: Sergeich от Июня 23, 2005, 15:18 Цитата: "IUnknown" Тоесть мне нужно будет в приложениях писать дополнительный код для того что бы передать информацию приложению которое его запускает?! А без этого никак нельзя? В принципе можно, но нежательно. Ты можешь модифицировать исходный код Qt и добавить передачу Wid в конструктор QWidget'а, но как сам понимаешь решение довольно кривое. Цитата: "IUnknown" Так как мне получать Wid запускаемого приложения? Есть команда типа exec() которая бы возращала бы еще и Wid запущеного приложения. А как его получает xwininfo? Во-первых, WId относится к окну, а не к процессу, процесс может иметь несколько окон, и у каждого будут свой уникальный WId. Во-вторых о такой команде типа ехес() я ничего не слышал, и сильно сомневаюсь в ее существовании. В третьих, в XLib должна быть какая-то ф-ция, к-ая возвращает окно, закрывающее данную точку экрана, ей и пользуется xwininfo. Название: Другое приложение как окошко в MDI программе Отправлено: IUnknown от Июня 25, 2005, 01:03 $FreeBSD: src/include/unistd.h,v 1.73 2004/02/23 04:51:07 ache Exp $
... int execl(const char *, const char *, ...); int execle(const char *, const char *, ...); int execlp(const char *, const char *, ...); int execv(const char *, char * const *); int execve(const char *, char * const *, char * const *); int execvp(const char *, char * const *); ... Значит мне это не подходит. А где можно достать информацию по написанию оконных менеджеров? Название: Другое приложение как окошко в MDI программе Отправлено: Hellenna от Июня 27, 2005, 11:02 попробуй здесь почитать, может поможет
http://www.linux.org.ru/view-message.jsp?msgid=274847 |