cef嵌入到Qt窗口中一直显示不出来的问题

 

原代码:

bool QCefView::createCefBrowser()
{
    RECT rect = { 0 };
 
    CefWindowInfo windowInfo;
    CefBrowserSettings browserSettings;
 
    windowInfo.SetAsChild(reinterpret_cast<HWND>(this->winId()), rect);
    CefBrowserHost::CreateBrowser(windowInfo, _browserHandler.get(),
        CefString(_url.toStdWString()), browserSettings, nullptr);
 
 
    return true;
}

 

修改后:

bool QCefView::createCefBrowser()
{
    RECT rect;
    rect.left = 0;
    rect.top = 0;
    rect.right = qobject_cast<QWidget*>(this->parent())->width();
    rect.bottom = qobject_cast<QWidget*>(this->parent())->height();
 
    CefWindowInfo windowInfo;
    CefBrowserSettings browserSettings;
 
    windowInfo.SetAsChild(reinterpret_cast<HWND>(this->winId()), rect);
    CefBrowserHost::CreateBrowser(windowInfo, _browserHandler.get(),
        CefString(_url.toStdWString()), browserSettings, nullptr);
 
    return true;
}

 

原来是没设置大小,淦

posted @ 2021-07-20 17:47  远方是什么样子  阅读(416)  评论(0编辑  收藏  举报