提交 7486fda8 编写于 作者: mahuifa's avatar mahuifa

feat:使用QWebEngineView加载显示Web页面的最小示例2

上级 d08d6d4f
......@@ -2,7 +2,8 @@ TEMPLATE = subdirs
# 只有当前系统、编译器支持webenginewidgets模块才编译下列程序MinGW没有),这里 { 不能换行
qtHaveModule(webenginewidgets) {
SUBDIRS += minimal # 使用QWebEngineView加载显示Web页面的最小示例
SUBDIRS += minimal # 使用QWebEngineView加载显示Web页面的最小示例1
SUBDIRS += minimal2 # 使用QWebEngineView加载显示Web页面的最小示例2
}
......@@ -2,6 +2,8 @@
#include <QDir>
#include <QWebEngineView>
#define DEMO 0 // 通过修改DEMO值 为0、1、2使用不同的演示代码
int main(int argc, char *argv[])
{
QCoreApplication::setAttribute(Qt::AA_EnableHighDpiScaling); // 在支持的平台上启用Qt中的高DPI缩放
......@@ -10,13 +12,14 @@ int main(int argc, char *argv[])
QWebEngineView view; // 创建一个用于加载显示、编辑Web页面的Widget
view.setWindowTitle(QString("QWebEngineView最小示例 - V%1").arg(APP_VERSION)); // 设置窗口标题
// 使用setUrl和load都一样
#if 0
#if DEMO == 0
view.setUrl(QUrl("https://www.baidu.com")); // 网址:原文中使用QStringLiteral("https://www.qt.io")创建,但是这里只是创建一次,没必要
#elif 0
#elif DEMO == 1
view.setUrl(QUrl("qrc:/hello.html")); // 如果html文件在资源文件中,这里【qrc】不能少
#else
#elif DEMO == 2
view.setUrl(QDir("hello.html").absolutePath()); // 如果html文件不在资源文件中,这里需要使用【绝对路径】
#endif
view.resize(1024, 750);
view.show();
......
#---------------------------------------------------------------------------------------
# @功能: 使用QWebEngineView加载显示Web页面的最小示例
# 1去掉保留最简单功能,去掉不易于理解的功能;
# 1、保留最简单功能,去掉不易于理解的功能;
# 2、分别演示了加载网络地址、资源文件中的Html文件,本地html的方式
# 3、详细的注释,对初学者更友好。
# @编译器: Desktop Qt 5.12.5 MSVC2017 64bit(也支持其它编译器)
......
#include <QApplication>
#include <QDir>
#include <QWebEngineView>
#define DEMO 0 // 通过修改DEMO值 为0、1、2使用不同的演示代码
int main(int argc, char *argv[])
{
QCoreApplication::setAttribute(Qt::AA_EnableHighDpiScaling); // 在支持的平台上启用Qt中的高DPI缩放
QApplication a(argc, argv);
QWebEngineView view; // 创建一个用于加载显示、编辑Web页面的Widget
view.setWindowTitle(QString("QWebEngineView最小示例 - V%1").arg(APP_VERSION)); // 设置窗口标题
// setHtml内部调用的就是【setContent(html.toUtf8(), QStringLiteral("text/html;charset=UTF-8"), baseUrl);】
#if DEMO == 0
QString html("<h1 align='center' style='font-size:80px; color:red;'>hello </h1>");
view.setHtml(html); // 直接在QWebEngineView中显示Html代码
#elif DEMO == 1
// 百度搜索界面的图标地址 https://www.baidu.com/img/PCtm_d9c8750bed0b3c7d089fa7d55720d6cf.png
// setHtml使用参数2 (baseUrl)后,可以在html代码中使用【相对路径】引用baseUrl中的资源
QString html("<img src='/img/PCtm_d9c8750bed0b3c7d089fa7d55720d6cf.png'/>"); // 注意:字符串html不能超过2MB
view.setHtml(html, QUrl("https://www.baidu.com"));
#elif DEMO == 2
QString html("<h1 align='center' style='font-size:80px; color:red;'>hello </h1>");
view.setContent(html.toUtf8(), "text/html; charset=UTF-8");
#endif
view.resize(1024, 750);
view.show();
return a.exec();
}
#---------------------------------------------------------------------------------------
# @功能: 使用QWebEngineView加载显示Web页面的最小示例2
# 1、保留最简单功能,去掉不易于理解的功能;
# 2、分别演示了【QWebEngineView::setHtml】【QWebEngineView::setContent】的使用方法;
# 3、详细的注释,对初学者更友好。
# @编译器: Desktop Qt 5.12.5 MSVC2017 64bit(也支持其它编译器)
# @Qt IDE D:/Qt/Qt5.12.5/Tools/QtCreator/share/qtcreator
#
# @开发者 mhf
# @邮箱 1603291350@qq.com
# @时间 2022-12-10 20:22:53
# @备注
#---------------------------------------------------------------------------------------
TEMPLATE += app
QT += webenginewidgets
DEFINES += QT_DEPRECATED_WARNINGS
SOURCES += main.cpp
# Default rules for deployment.
qnx: target.path = /tmp/$${TARGET}/bin
else: unix:!android: target.path = /opt/$${TARGET}/bin
!isEmpty(target.path): INSTALLS += target
# 定义程序版本号
VERSION = 1.0.0
DEFINES += APP_VERSION=\\\"$$VERSION\\\"
contains(QT_ARCH, i386){ # 使用32位编译器
DESTDIR = $$PWD/../bin # 程序输出路径
}else{
DESTDIR = $$PWD/../bin64 # 使用64位编译器
}
# msvc 编译器使用utf-8编码
msvc {
QMAKE_CFLAGS += /utf-8
QMAKE_CXXFLAGS += /utf-8
}
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册