Qt-QWebEngineView显示百度网页

版本:Qt5.14

1、.pro

QT += webenginewidgets

2、头文件

#include <QWebEngineView>

3、代码

int main(int argc, char *argv[]){
    QApplication a(argc, argv);

    QWebEngineView *view = new QWebEngineView();
    view->load(QUrl("https://www.baidu.com/"));
    view->show();

    return a.exec();
}

PS:

如果想实现通信则用QWebChannel :https://www.cnblogs.com/sigma0/p/7346727.html

以下是一个使用 QT 的 QWebEngineView 加载网页并添加右键菜单保存页面为图像功能的示例代码: ```cpp #include <QtWidgets/QApplication> #include <QtWebEngineWidgets/QWebEnginePage> #include <QtWebEngineWidgets/QWebEngineView> #include <QMenu> #include <QAction> #include <QFileDialog> class WebEnginePage : public QWebEnginePage { public: WebEnginePage(QObject* parent = nullptr) : QWebEnginePage(parent) {} void contextMenuEvent(QContextMenuEvent* event) override { QMenu* menu = pageAction(QWebEnginePage::ContextMenu)->menu(); menu->addSeparator(); QAction* saveImageAction = new QAction(tr("Save page as image"), this); connect(saveImageAction, &QAction::triggered, this, &WebEnginePage::savePageAsImage); menu->addAction(saveImageAction); QWebEnginePage::contextMenuEvent(event); } private: void savePageAsImage() { QString fileName = QFileDialog::getSaveFileName(nullptr, tr("Save Image"), "", tr("Images (*.png *.xpm *.jpg)")); if (!fileName.isEmpty()) { view()->grab().save(fileName); } } }; int main(int argc, char* argv[]) { QApplication app(argc, argv); QWebEngineView view; WebEnginePage page; view.setPage(&page); view.load(QUrl("https://www.baidu.com")); view.show(); return app.exec(); } ``` 在代码中,我们创建了一个名为 `WebEnginePage` 的新类,继承自 `QWebEnginePage` 类,并重写了 `contextMenuEvent()` 函数,以创建一个新的动作来保存网页为图像。 在 `savePageAsImage()` 函数中,我们使用 `QFileDialog` 对话框来获取用户要保存图像的文件名。如果用户选择了文件名,则使用 `view()` 函数获取当前的 QWebEngineView 对象,并使用 `grab()` 函数获取当前视图的截图,最后将截图保存为用户指定的文件名。 在主函数中,我们创建了一个 `QWebEngineView` 对象,并将其设置为 `WebEnginePage` 对象的页面。然后,我们加载百度网站并显示该视图。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

jumore

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值