gpt4 book ai didi

qt - 一个 QWebView -> 多个 QWebPage

转载 作者:行者123 更新时间:2023-12-04 13:24:58 29 4
gpt4 key购买 nike

如何处理“在新窗口中打开链接”以打开新的 QWebPage而不是新窗口,将之前的 QWebPage 保存在堆栈中,并使用 QWebView::setPage() 显示新窗口?

我是 Qt(甚至 C++)的新手,关于如何修复堆栈的建议也很受欢迎。

最佳答案

强制打开相同的链接 QWebView , 如果它们是“链接”

您可以设置 linkDelegationPolicyQWebPageQWebPage::DelegateAllLinks然后 catch linkClicked QWebPage的信号并创建一个新的 QWebPageurl在信号的参数中

至于堆栈,您也可以手动执行此操作。有一个 QList/QVector每当你得到一个新的 QWebPage从上面的信号中,添加当前 QWebPage到堆栈然后创建新的 QWebPage并将其设置为 QWebView::setPage()
你也可以尝试子类化 triggerActionQWebPage然后检查请求的操作,如果它是 QWebPage::OpenLinkInNewWindow调用基类函数并将操作指定为 QWebPage::OpenLink反而。

不确定这是否适用于所有情况,但如果对您有用,值得一试。

关于qt - 一个 QWebView -> 多个 QWebPage,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3905959/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com