Russian Qt Forum
Сентябрь 30, 2024, 22:35 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1]   Вниз
  Печать  
Автор Тема: Приложение внутри формы  (Прочитано 7208 раз)
Andrew Vladoff
Гость
« : Октябрь 29, 2013, 12:32 »

Есть два приложения, написанные на Qt. Как разместить одно внутри виджета на втором? Система Windows.
Записан
mutineer
Гость
« Ответ #1 : Октябрь 29, 2013, 12:36 »

Приложение разместить или его окно?
Записан
Andrew Vladoff
Гость
« Ответ #2 : Октябрь 29, 2013, 13:01 »

Приложение встроить в виджет. Чтобы можно было управлять им, нажимать на кнопки и т.д.
Записан
mutineer
Гость
« Ответ #3 : Октябрь 29, 2013, 13:03 »

Что значит "приложение встроить"? Я понимаю что значит "встроить окно приложения" и на винде это вроде бы можно сделать при помощи OLE или ActiveX. А вот что значит "встроить приложение" совсем непонятно
Записан
Andrew Vladoff
Гость
« Ответ #4 : Октябрь 29, 2013, 13:13 »

Встроить окно приложения. В линуксе есть для этого QX11EmbedContainer. Но под виндовс, как я понял, это не работает.
Записан
mutineer
Гость
« Ответ #5 : Октябрь 29, 2013, 13:14 »

Это работает только под Х11
Записан
Fregloin
Супер
******
Offline Offline

Сообщений: 1025


Просмотр профиля
« Ответ #6 : Октябрь 29, 2013, 13:36 »

ActiveX
Записан
Maestro
Гость
« Ответ #7 : Октябрь 30, 2013, 02:05 »

В одном из проектов
1. "Добавить существующие файлы..."
2. Выбрать нужные *.h, *.cpp
3а. Если интерфейс делаете в Main() руками, то просто
Код:
int main(int argc, char *argv[])
{
    QApplication a(argc, argv);
    QWidget w;
    OtherWidget * ow = new OtherWidget (&w);
    w.show();
    return a.exec();
}
3b. Если в Designer то
-  бросаете виджет,
-  "Преобразовать в...",
-  Имя преобразованного класса OtherWidget
-  Заголовочный файл OtherWidget.h
-  Добавить
-  Преобразовать
Теперь ваш брошенный виджет promotion to все другое приложение OtherWidget
Это если все делалось в QWidget-ах.Если в QWindows то немного сложнее но суть та же.
И не забыть обинклюдить.
Записан
Andrew Vladoff
Гость
« Ответ #8 : Октябрь 30, 2013, 21:46 »

В одном из проектов
1. "Добавить существующие файлы..."
2. Выбрать нужные *.h, *.cpp
3а. Если интерфейс делаете в Main() руками, то просто
Код:
int main(int argc, char *argv[])
{
    QApplication a(argc, argv);
    QWidget w;
    OtherWidget * ow = new OtherWidget (&w);
    w.show();
    return a.exec();
}
3b. Если в Designer то
-  бросаете виджет,
-  "Преобразовать в...",
-  Имя преобразованного класса OtherWidget
-  Заголовочный файл OtherWidget.h
-  Добавить
-  Преобразовать
Теперь ваш брошенный виджет promotion to все другое приложение OtherWidget
Это если все делалось в QWidget-ах.Если в QWindows то немного сложнее но суть та же.
И не забыть обинклюдить.


Проблема в том, что исходники есть только одной программы.
Записан
kambala
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 4744



Просмотр профиля WWW
« Ответ #9 : Октябрь 31, 2013, 00:19 »

что мешает просто запустить второе приложение?
Записан

Изучением C++ вымощена дорога в Qt.

UTF-8 has been around since 1993 and Unicode 2.0 since 1996; if you have created any 8-bit character content since 1996 in anything other than UTF-8, then I hate you. © Matt Gallagher
Andrew Vladoff
Гость
« Ответ #10 : Ноябрь 01, 2013, 14:20 »

что мешает просто запустить второе приложение?
В принципе ничего, но захотелось интегрировать одно в другое.
Записан
mutineer
Гость
« Ответ #11 : Ноябрь 01, 2013, 14:21 »

Если сорцов второго приложения нет и оно само по себе не дает ActiveX, то никак
Записан
merke
Гость
« Ответ #12 : Ноябрь 18, 2013, 17:31 »

Тут всё просто, мутишь из встраиваемого приложения библиотеку, далее передаешь в главное приложение указатель на окно и отображаешь его как виджет и вуаля!
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.122 секунд. Запросов: 23.