没有DelegateAllLinks
时间: 2024-03-15 13:45:33 浏览: 23
抱歉,我犯了一个错误。在QtWebEngine中,QWebEnginePage没有DelegateAllLinks属性。正确的做法是使用setOpenLinks(true)方法开启链接的点击功能。下面是一个示例代码:
```cpp
#include <QApplication>
#include <QtWebEngineWidgets>
int main(int argc, char *argv[])
{
QApplication app(argc, argv);
QWebEngineView *webView = new QWebEngineView();
QWebEnginePage *webPage = new QWebEnginePage();
webView->setPage(webPage);
webView->setOpenLinks(true); // 开启链接的点击功能
webView->show();
webView->load(QUrl("https://www.baidu.com"));
return app.exec();
}
```
同样需要注意的是,如果你需要在QtWebEngine中处理链接的点击事件,需要使用QWebEnginePage::acceptNavigationRequest()方法。例如:
```cpp
connect(webView->page(), &QWebEnginePage::navigationRequested,
[=](const QUrl &url, QWebEnginePage::NavigationType type, bool isMainFrame)
{
if (type == QWebEnginePage::NavigationTypeLinkClicked)
{
webView->load(url); // 处理链接的点击事件
return false;
}
return true;
});
```
这里我们通过连接QWebEnginePage的navigationRequested信号来处理链接的点击事件。如果是通过点击链接进行导航,我们就手动处理这个导航事件,并返回false。如果不是通过点击链接进行导航,我们就返回true,让QtWebEngineView自己处理导航事件。
希望可以帮助到你。
相关推荐
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)