问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

如何在webview中打开连接网页的代码

发布网友 发布时间:2022-04-21 17:33

我来回答

1个回答

热心网友 时间:2022-04-21 19:03

在使用QWebView类时,如果想打开网页中的链接,我们要这样做!
我们可以使用网页的QwebPage类中的linkClicked(QUrl)来做信号,当我们触发这个信号时,我们就可以让它在一个新的窗口中打开这个链接,但是我们在查看linkClicked()信号时,会发现有这样一句话:
By default no links are delegated and are handled by QWebPage instead.
默认情况下没有链接下放而不是由QWebPage处理。
所以,我们要对它进行一下设置,那我们就要进下步看一下 linkDelegationPolicy

void

setLinkDelegationPolicy ( LinkDelegationPolicy policy )

我们会发现有这样一个函数,可以调用它来设置这个模式,看到这里,我们还不行我们会发现还有一个东西我们不知道,那就是LinkDelegationPolicy,那我们就要进一步看一下它是做什么的了。
enum QWebPage::LinkDelegationPolicy
This enum defines the delegation policies a webpage can have when activating links and emitting the linkClicked() signal.

Constant

Value

Description

QWebPage::DontDelegateLinks

0

No links are delegated. Instead, QWebPage tries to handle them all.

QWebPage::DelegateExternalLinks

1

When activating links that point to documents not stored on the local filesystem or an equivalent - such as the Qt resource system - thenlinkClicked() is emitted.

QWebPage::DelegateAllLinks

2

Whenever a link is activated the linkClicked() signal is emitted.

我们会发现它是一个枚举类型的,它的默认值应该就是0,所以我们在调用linkClicked()不会触发的原因就在这里,选择那种模式就要看我们的实际情况了!
部分代码如下:
信号和槽的链接:
QObject::connect(ui->webView,SIGNAL(linkClicked(QUrl)),this,SLOT(openUrlSlot(QUrl)));
这样做可以避免打开多个窗口的问题,否则出现这个程序点据了整个任务栏。
QObject::connect(ui->webView,SIGNAL(linkClicked(QUrl)),this,SLOT(newWindowSlot(QUrl)));
这样做就可会出现上面我说的情况,尽量避免使用这种方法。
newWindowSlot()的实现:
voidMainWindow::newWindowSlot(QUrlurl)
{
MainWindow*other=newMainWindow;
other->ui->webView->load(url);
other->show();
}
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
宁德市有哪些区 福建宁德市有哪些区 宁德市有哪些商圈 安装项目错误: 项目文件不存在 (C:\Windows\SolidWorks\IM_20110-4 高压103低压98心跳104,医生初诊是脑梗,怎么治疗,吃什么药?饮食方面注 ... 最新版好玩的谐音梗网名210个 比较搞笑幽默的网名 德国猎梗FCI标准 “流泉百折玉琮琤”的出处是哪里 “细听犀谈座为倾”的出处是哪里 “西蜀东吴一世英”的出处是哪里 借款人无力偿还,担保人还款了,合同可以中止吗 贷款人和*己打成还款协议,*还能把担保人住房公积金划走吗? 长沙市五险一金查询 法院调解由贷款人和担保人共同还款有法律效力吗 长沙五险在哪个网址查 长沙县政府有能了解五险一金的窗口嘛 请问长沙哪个网站可以查询自己是否交了五险一金?之前没有办过社保卡 长沙的五险可以在哪里查询得到? 长沙市民五险这么查询 湖南五险一金查询官网 急求六年级班规 班训 谁有好的班级公约?(小学的六年级 ) 六年级班级管理规定 求WOW专业术语 wow暴风城怎么去格鲁尔的巢穴 雅马哈AG03声卡混响效果在哪里调 cad外部块怎么隐藏? CAD如何用快捷键隐藏线或块 JJC什么意思 喝红酒对前列腺有没有影响 公司账户能在外地取钱吗 手机用完电充电没反应 手机没电过度充电没反应 手机电池耗尽了,再充电没反应 不在龙虎榜的主力如何查看 打板客用哪家证券好 win7与XP的性能比较. windowsxp和Windows7比较,性能方面优缺点。 有免费的视频吗? 手机电池没电了,没电的状态下放了一段时间,现在再充电就没反应了,充不了,怎么办??? Windows xp 和Windows 7的性能有哪些不同? windows xp 和win7哪个系统好,哪个无线上网快? WindowsXP和Windows7旗舰版哪个性能好一些? 沪深两市的股票在什么情况下才会出现在盘后的两市成交龙虎榜上呢?麻烦说的具体一点,谢谢 和windows XP相比windows 7整体性能怎样? windows7和windowsXP那个好??哪个先进?? 股票里的龙虎榜有一定的滞后性,那当天有没有必要去研究昨日的资金流向呢? windows7系统与XP系统相比较,优点和缺点 xp换win7以后网速变慢 为什么自从我在XP上装了WINDOWS7 网络状况不好