在IE框架中嵌入IE窗口

时间:2014-07-01 11:41:35

标签: c++ qt internet-explorer qtgui qobject

我尝试使用QFrame将IE窗口嵌入到QProcess中以调用IE应用程序。我使用Qt 5.2.1在Win7 32bit上工作。

我尝试了以下方法

  • 尝试将进程的父级设置为框架,而不是将其设置为MainWindow

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

AND by this

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

然后我尝试使用QWidget::createWindowContainer()方法。这是我试图遵循的工作流程:

获取IE窗口的WId(通过使用IE窗口的hWnd或其他方法) 使用QWindow::fromWinID()创建QwindowQWindow传递给QWidget::createWindowContainer()

我的问题:

  1. 是否可以将IE窗口嵌入到Qt应用程序中?
  2. 关于我的第一个方法,如何将QFrame对象作为QProcess的父对象
  3. 第三种方法有效吗? (我仍然需要找到如何将hWnd转换为WId)

1 个答案:

答案 0 :(得分:3)

我的问题的答案

是的,可以将IE窗口嵌入到Qt应用程序中,(正如@vahancho所指出的那样)您将不得不使用QAxWidgets。有关详细信息,请参阅Examples / Activeqt中的Web浏览器示例