2014-07-01 37 views
3

我試圖使用QProcess嵌入IE窗口到QFrame來調用IE應用程序。我正在使用Qt 5.2.1開發Win7 32bit。在QFrame中嵌入IE窗口

我曾嘗試以下這個

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

,並通過這個

接近

  • 嘗試設置進程的父是框架,而不是主窗口

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

    然後我試着t o使用QWidget::createWindowContainer()方法。這是我試圖按照工作流程:

    獲取IE窗口的WID(使用IE窗口或其他方法的hWnd) 使用QWindow::fromWinID()創建Qwindow 傳遞QWindowQWidget::createWindowContainer()

    我的問題:

    1. 是否可以將IE窗口嵌入到Qt應用程序中?
    2. 關於我的第一種方法,我如何使QFrame對象成爲QProcess的父對象
    3. 第三種方法是否有效? (我還需要找到如何HWND的轉換成WID)
+0

我不認爲'QProcess'實現了嵌入的任何東西。它從你的Qt應用程序運行一個單獨的進程(應用程序)。您可以嘗試查看'QAxWidget'。 – vahancho

+0

應用程序(如IE)可以作爲ActiveX控件對象運行嗎? – user3079474

+0

@ user3079474是的,這就是你想要做的,你應該使用activeqt模塊。 –

回答

3

的回答我的問題

是的,它是可以嵌入IE窗口爲Qt應用程序,(如指出, @vahancho)你將不得不使用QAxWidgets。請參閱Examples/Activeqt中的Web瀏覽器示例以獲取更多詳細信息。