QWebView建立后能加载出来页面却不能点击解决方案

QWebView建立后能加载出来页面却不能点击解决方案

项目中需要内嵌一个页面和一个跳转页面,即微信扫码的页面,结果发现创建webview后怎么点击页面连接都无效,尝试使用QWebSettings设置完了所有的属性都不行。后面查找原因发现一个可以跳转的方法。

使用QWebPage的setLinkDelegationPolicy方法,然后处理linkClicked信号就可以打开了

 QHBoxLayout* ph = new QHBoxLayout;
    QWebView* view = new QWebView;
    //QWebSettings* wsets =  QWebSettings::globalSettings();
    QWebPage* page= view->page();
    **page->setLinkDelegationPolicy(QWebPage::DelegateAllLinks);**

    connect(view,&QWebView::linkClicked,[&](const QUrl& url){
        QDialog* pDlg = new QDialog();
        QHBoxLayout* ph1 = new QHBoxLayout;
        QWebView* view2 = new QWebView(pDlg);
        view2->load(url);
        ph1->addWidget(view2);
        pDlg->setLayout(ph1);
        pDlg->exec();
    });
    view->load(QUrl("https://www.baidu.com"));
    view->show();
    view->setFocus();

    ph->addWidget(view);
    ui->centralwidget->setLayout(ph);
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值