QWidget中嵌入win32 window(使用QWindow和QWidget::createWindowContainer)

时间:2022-04-14 15:03:09

主要用到QWindow::fromWinId和QWidget::createWindowContainer这两个函数

QWindow::fromWinId用来创建一个win32窗口的代理 
QWidget::createWindowContainer用来把窗口封装为一个QWidget控件

示例代码

    HWND hwnd = ::FindWindow(L"CEFWebkitBrowserWnd", NULL);
QWindow* native_wnd = QWindow::fromWinId((WId)hwnd);
QWidget* native_wdgt = QWidget::createWindowContainer(native_wnd); centralWidget ->addSubWindow(native_wdgt);
native_wdgt->setMinimumSize(600,400);

图示

QWidget中嵌入win32 window(使用QWindow和QWidget::createWindowContainer)

参考链接

http://*.com/questions/28786172/qt5-qwidgetcreate-with-win32-hwnd-embedding-not-longer-working-after-port-fr

http://blog.csdn.net/x356982611/article/details/52512533