您现在的位置是:首页 > 名人名句

QT webengine显示HTML简单示例

作者:晨起时间:2024-04-11 12:50:13分类:名人名句

简介  文章浏览阅读1.3k次,点赞2次,收藏5次。QT webengine显示HTML简单示例_qt + qwebengineview嵌入html的案例

点击全文阅读

文章目录

参考示例1TestWebenqine.promainwindow.hmainwindow.cppmain.cpp效果 示例2 (使用setDevToolsPage函数)main.cpp效果

参考

QT webengine显示HTML简单示例

示例1

编译器 : Desktop Qt 5.15.2 MSVC2019 64bit编辑器: QtCreator代码:

TestWebenqine.pro

# TestWebenqine.proQT       += core gui webenginewidgetsgreaterThan(QT_MAJOR_VERSION, 4): QT += widgetsCONFIG += c++17# You can make your code fail to compile if it uses deprecated APIs.# In order to do so, uncomment the following line.#DEFINES += QT_DISABLE_DEPRECATED_BEFORE=0x060000    # disables all the APIs deprecated before Qt 6.0.0SOURCES += \    main.cpp \    mainwindow.cppHEADERS += \    mainwindow.hFORMS += \    mainwindow.ui# Default rules for deployment.qnx: target.path = /tmp/$${TARGET}/binelse: unix:!android: target.path = /opt/$${TARGET}/bin!isEmpty(target.path): INSTALLS += target

mainwindow.h

//mainwindow.h#ifndef MAINWINDOW_H#define MAINWINDOW_H#include <QMainWindow>#include <QWebEngineView>QT_BEGIN_NAMESPACEnamespace Ui { class MainWindow; }QT_END_NAMESPACEclass MainWindow : public QMainWindow{    Q_OBJECTpublic:    MainWindow(QWidget *parent = nullptr);    ~MainWindow();    //使得网页的窗口大小随着mainwindow的窗口大小变化而变化    void resizeEvent(QResizeEvent *event);private:    Ui::MainWindow *ui;    QWebEngineView *view;  //声明view};#endif // MAINWINDOW_H

mainwindow.cpp

//mainwindow.cpp#include "mainwindow.h"#include "ui_mainwindow.h"#include <QResizeEvent>MainWindow::MainWindow(QWidget *parent)    : QMainWindow(parent)    , ui(new Ui::MainWindow){    ui->setupUi(this);    view = new QWebEngineView(this);    //view->setFixedSize(this->width(),this->height());    view->load(QUrl(QStringLiteral("https://www.qweather.com/weather/luoyang-101180901.html")));    //view->load(QUrl(QStringLiteral("https://www.baidu.com")));    view->showMaximized();}MainWindow::~MainWindow(){    delete ui;}void MainWindow::resizeEvent(QResizeEvent *event){    QMainWindow::resizeEvent(event); // 调用基类的 resizeEvent,确保正常的处理    // 获取新的 mainwindow 大小    QSize newSize = event->size();    // 将新的大小应用于 view    view->setFixedSize(newSize.width(), newSize.height());}

main.cpp

//main.cpp#include "mainwindow.h"#include <QApplication>int main(int argc, char *argv[]){    QApplication a(argc, argv);    MainWindow w;    w.show();    return a.exec();}

效果

在这里插入图片描述
在这里插入图片描述

示例2 (使用setDevToolsPage函数)

编译器 : Desktop Qt 5.15.2 MSVC2019 64bit编辑器: QtCreator代码:

main.cpp

#include "mainwindow.h"#include <QApplication>#include <QWebEngineView>int main(int argc, char *argv[]){    QApplication a(argc, argv);    //MainWindow w;    //w.show();    QWebEngineView *view = new QWebEngineView();    QWebEngineView *view1 = new QWebEngineView();    view->setUrl(QUrl("http://baidu.com"));    view->page()->setDevToolsPage(view1->page());        view->setWindowTitle("BaiDu");    view1->setWindowTitle("DevTool");        view->show();//显示页面    view1->show();//显示view页面的JS脚本(也就是说:view1是view的开发者工具)    return a.exec();}

效果

在这里插入图片描述

点击全文阅读

郑重声明:

本站所有活动均为互联网所得,如有侵权请联系本站删除处理

我来说两句