当前位置: 首页 > news >正文

QT webengine显示HTML简单示例

文章目录

  • 参考
  • 示例1
    • TestWebenqine.pro
    • mainwindow.h
    • mainwindow.cpp
    • main.cpp
    • 效果
  • 示例2 (使用setDevToolsPage函数)
    • main.cpp
    • 效果

参考

QT webengine显示HTML简单示例

示例1

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

TestWebenqine.pro

# TestWebenqine.pro
QT       += 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}/bin
else: 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_NAMESPACE
namespace 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();// 将新的大小应用于 viewview->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();
}

效果

在这里插入图片描述

http://www.lryc.cn/news/210871.html

相关文章:

  • Spark_SQL函数定义(定义UDF函数、使用窗口函数)
  • 【Leetcode】【每日一题】【中等】274. H 指数
  • MySQL读写分离技术及实现方案
  • git 推送到github远程仓库细节处理(全网最良心)
  • 算法训练|数据流中的中位数
  • LeetCode 2558. 从数量最多的堆取走礼物【模拟,堆或原地堆化】简单
  • windows服务器环境下使用php调用com组件
  • 3DCAT+东风日产:共建线上个性化订车实时云渲染方案
  • 【VR开发】【Unity】【VRTK】1-无代码VRVR开发介绍
  • 全国地级市最新城投债数据(2006-2023.2)
  • vm_flutter
  • MySQL数据库#6
  • YOLO v1(2016.5)
  • SQL比较两次的字段集合,找出并返回差异,主要用于更新记录事件
  • muduo源码剖析之Acceptor监听类
  • express session JWT JSON Web Token
  • 负载均衡策略 LVS
  • 驱动开发6 IO多路复用——epoll
  • 【python学习笔记——列表】
  • TensorRT量化实战课YOLOv7量化:YOLOv7-PTQ量化(一)
  • [微信小程序踩坑]微信小程序editor富文本组件渲染字符串时,内部图片超出大小导致无法正常渲染或回显(数据传输长度为 3458 KB,存在有性能问题!)
  • USACO12OPEN Balanced Cow Subsets G(meet in the middle)
  • GIT常用操作记录
  • 【ETL工具】Datax-ETL-SqlServerToHDFS
  • Kubernetes (K8S)概述
  • 11月14号|Move生态Meetup相约浪漫土耳其
  • mac vim没有颜色 问题
  • Servlet核心API
  • crs 维护模式 exclusive mode
  • 【OpenCV实现平滑图像形态学变化】