QWebKit 的问题,解决不了就被开了,帮帮忙!!!

[复制链接]
查看11 | 回复1 | 2021-1-27 06:36:20 | 显示全部楼层 |阅读模式
QWebPage、QWebView访问www.youtube.com
在网页上鼠标左键点击链接linkClickedurlChanged信号都没反应(特别是左边浏览视频,右边是列表链接,怎么点都没反应)。奇怪。。。。

QWebPage*page=newMyWebPage();
page->setLinkDelegationPolicy(QWebPage::DelegateAllLinks);
ui.webView->setPage(page);
connect(ui.webView,SIGNAL(linkClicked(constQUrl&)),this,SLOT(linkClickedSlot(constQUrl&)));
connect(ui.webView,SIGNAL(urlChanged(constQUrl&)),this,SLOT(UrlChangedSlot(constQUrl&)));
QStringstrUrl="www.youtube.com";
QUrlurl=QUrl::fromUserInput(strUrl);
ui.webView->load(url);

boolMyWebPage::acceptNavigationRequest(QWebFrame*frame,constQNetworkRequest&request,NavigationTypetype)
{
QStringstrUrl=request.url().toString();//当前页点击这个返回的是about::blank,但ctrl+鼠标左键,新打开一个网页是ok的
//此处省略按ctrl+鼠标左键newtab的代码
if(frame==mainFrame())
{
//这里进不去,非youtube外,在同一个页面打开是可以进这里的。
}
returnQWebPage::acceptNavigationRequest(frame,request,type);
}
发现youtube.com返回的frame完全不一样
分 -->
回复

使用道具 举报

千问 | 2021-1-27 06:36:20 | 显示全部楼层
估计是webView里面的控件需要传信号,而不是webView。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行