Qt 5.12中QWebEngineView用不了
时间: 2024-03-15 11:47:37 浏览: 185
如果您的Qt版本中没有QWebEngineView,那么您可以使用Qt WebKit来显示HTML内容。以下是一个示例代码:
```cpp
// 创建一个QWebView对象
QWebView *webView = new QWebView(this);
// 加载地图HTML文件
webView->setUrl(QUrl("path/to/map.html"));
// 等待页面加载完成
connect(webView, &QWebView::loadFinished, [this, webView]() {
// 获取QLabel的QPixmap对象
QPixmap pixmap(ui->label->size());
ui->label->render(&pixmap);
// 在QPixmap上绘制QWebView的内容
QPainter painter(&pixmap);
webView->render(&painter);
// 在QLabel中显示QPixmap
ui->label->setPixmap(pixmap);
// 释放QWebView对象
webView->deleteLater();
});
// 显示QWebView
webView->show();
```
请注意,Qt WebKit已经被弃用,因此建议尽快升级到Qt WebEngine。
相关问题
Qt 5.12中没有QWebView
是的,您是正确的,在Qt 5.12中已经弃用了QWebView。相反,您可以使用Qt的QWebEngineView类来加载HTML内容。
以下是一个例子,显示如何在QLabel中加载HTML内容:
```cpp
// 创建一个QWebEngineView对象
QWebEngineView *webView = new QWebEngineView(this);
// 加载地图HTML文件
webView->setUrl(QUrl("path/to/map.html"));
// 等待页面加载完成
connect(webView, &QWebEngineView::loadFinished, [this, webView]() {
// 获取QLabel的QPixmap对象
QPixmap pixmap(ui->label->size());
ui->label->render(&pixmap);
// 在QPixmap上绘制QWebEngineView的内容
QPainter painter(&pixmap);
webView->render(&painter);
// 在QLabel中显示QPixmap
ui->label->setPixmap(pixmap);
// 释放QWebEngineView对象
webView->deleteLater();
});
// 显示QWebEngineView
webView->show();
```
请注意,这里使用了lambda表达式来处理页面加载完成的信号,并在完成后显示地图内容。
Qt 5.12 怎么使用 QT: webenginewidgets
在 Qt 5.12 中,你可以通过以下步骤使用 webenginewidgets 模块:
1.在项目文件(.pro)中添加以下行:
```
QT += webenginewidgets
```
2.在代码中包含 webenginewidgets 模块的头文件:
```
#include <QtWebEngineWidgets>
```
3.创建一个 QWebEngineView 对象,并将其添加到布局中:
```
QWebEngineView *view = new QWebEngineView(this);
view->setUrl(QUrl("https://www.google.com"));
layout->addWidget(view);
```
这将在你的应用程序中创建一个使用 webenginewidgets 模块的简单的 Web 视图。你可以设置 URL 以显示不同的网页。
阅读全文