【发布时间】:2014-07-01 11:41:35
【问题描述】:
我正在尝试使用QProcess 将IE 窗口嵌入到QFrame 中以调用IE 应用程序。我正在使用 Qt 5.2.1 开发 Win7 32bit。
我尝试了以下方法
-
尝试将进程的父进程设置为框架,而不是通过这个设置MainWindow
QProcess *process = new QProcess(ui->frame_Video);
通过这个
QProcess *process = new QProcess(ui->frame_Video);
process->setParent(ui->frame_Video);
然后我尝试使用QWidget::createWindowContainer() 方法。这是我尝试遵循的工作流程:
获取IE窗口的WId(通过IE窗口的hWnd或其他方法)
使用QWindow::fromWinID() 创建一个Qwindow
将QWindow 传递给QWidget::createWindowContainer()
我的问题:
- 是否可以将 IE 窗口嵌入到 Qt 应用程序中?
- 关于我的第一个方法,我怎样才能使 QFrame 对象成为 QProcess 的父对象
- 第三种方法有效吗? (我仍然需要找到如何将 hWnd 转换为 WId)
【问题讨论】:
-
我不认为
QProcess实现了任何嵌入。它从您的 Qt 应用程序运行一个单独的进程(应用程序)。你可以试试看QAxWidget。 -
应用程序(如 IE)能否作为 ActiveX 控件对象运行?
-
@user3079474 是的,这就是你想要做的,你应该为此使用 activeqt 模块。
标签: c++ qt internet-explorer qtgui qobject