cef嵌入到Qt視窗中一直顯示不出來的問題
阿新 • • 發佈:2021-07-20
原始碼:
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; }
原來是沒設定大小,淦