注册 登录
编程论坛 QT论坛

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

wylove08 发布于 2014-10-20 17:45, 1257 次点击
QWebPage、QWebView 访问 www.
在网页上鼠标左键点击链接 linkClicked urlChanged  信号都没反应(特别是左边浏览视频,右边是列表链接,怎么点都没反应)。 奇怪。。。。  

QWebPage* page = new MyWebPage();

page->setLinkDelegationPolicy(QWebPage::DelegateAllLinks);

ui.webView->setPage(page);
connect(ui.webView, SIGNAL(linkClicked(const QUrl &)), this, SLOT(linkClickedSlot(const QUrl &)));
connect(ui.webView, SIGNAL(urlChanged ( const QUrl &  )), this, SLOT(UrlChangedSlot( const QUrl &  )));   

QString strUrl = "www.
QUrl url = QUrl::fromUserInput(strUrl);
ui.webView->load(url);

bool MyWebPage::acceptNavigationRequest(QWebFrame *frame, const QNetworkRequest &request, NavigationType type)
{
    QString strUrl = request.url().toString();   //当前页点击 这个返回的是 about::blank , 但ctrl + 鼠标左键,新打开一个网页 是ok的

       //此处省略 按ctrl + 鼠标左键  new tab 的 代码

    if (frame == mainFrame())   
    {
                 //这里进不去, 非youtube 外 ,在同一个页面打开是可以进这里的。

    }

    return QWebPage::acceptNavigationRequest(frame, request, type);

}

[ 本帖最后由 wylove08 于 2014-10-20 17:48 编辑 ]
1 回复
#2
wylove082014-10-20 17:45
发现 返回的 frame   完全不一样
1