Встраивание окна IE внутрь QFrame

Я пытаюсь встроить окно IE в QFrame, используя QProcess для вызова приложения IE. Я работаю над Win7 32bit, используя Qt 5.2.1.

Я пробовал следующие подходы

  • Попробуйте установить родителем процесса фрейм, а не MainWindow этим

    QProcess *process = new QProcess(ui->frame_Video);
    

И этим

QProcess *process = new QProcess(ui->frame_Video); 
process->setParent(ui->frame_Video);

Затем я попытался использовать метод QWidget::createWindowContainer(). Это рабочий процесс, который я пытался выполнить:

Получите WId окна IE (используя hWnd окна IE или другим способом) Используйте QWindow::fromWinID() для создания Qwindow Передайте QWindow в QWidget::createWindowContainer()

Мои вопросы:

  1. Можно ли встроить окно IE в приложение Qt?
  2. Что касается моего первого метода, как я могу сделать объект QFrame родительским объектом QProcess
  3. Подходит ли третий способ? (Мне все еще нужно найти, как преобразовать hWnd в WId)

person user3079474    schedule 01.07.2014    source источник
comment
Я не думаю, что QProcess что-то реализует для встраивания. Он запускает отдельный процесс (приложение) из вашего приложения Qt. Вместо этого вы можете попробовать посмотреть на QAxWidget.   -  person vahancho    schedule 01.07.2014
comment
Можно ли запустить приложение (например, IE) как объект управления ActiveX?   -  person user3079474    schedule 01.07.2014
comment
@user3079474 user3079474 Да, и это то, что вы хотите сделать, и вы должны использовать для этого модуль activeqt.   -  person Kuba hasn't forgotten Monica    schedule 01.07.2014


Ответы (1)


Ответы на мой вопрос

Да, можно встроить окно IE в приложение Qt (как указал @vahancho). Вам придется использовать QAxWidgets. См. пример веб-браузера в Examples/Activeqt для более подробной информации.

person user3079474    schedule 02.07.2014