Qt 建立QWebEngineView
大概的流程是需要三个类:一个类是用来供前端的函数调用,传数据,回传信号;一个类是建立QWebChannel 注册、加载页面啥的;最后一个就是Qt建立一个QDialog类窗口,用于显示网页
第二个类的关键代码具体如下:
QWebChannel *channel = new QWebChannel(this);
sdk = new InsertTemplateSdk(this);//前端Js调用的函数类
channel->registerObject("qtsdk",sdk);//注册
connect(sdk,&InsertTemplateSdk::InsertTemplate,this,&InsertTemplateView::insertTemplate);//与前端Js实现交互的信号及函数槽
connect(sdk,&InsertTemplateSdk::closeDialog,this,&InsertTemplateView::closeDialog);
QWebEnginePage *page = this->page();//显示页
if(!page){
page = new QWebEnginePage(this);
setPage(page);
}
page->setWebChannel(channel);
最后在显示的Dialog调用load(QUrl(urlStr)),布局显示就ok了。