1. 程式人生 > 其它 >cef嵌入到Qt視窗中一直顯示不出來的問題

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; }

原來是沒設定大小,淦