Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
mahuifa
QMDemo
提交
7486fda8
Q
QMDemo
项目概览
mahuifa
/
QMDemo
通知
1
Star
2
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
Q
QMDemo
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
前往新版Gitcode,体验更适合开发者的 AI 搜索 >>
提交
7486fda8
编写于
12月 07, 2022
作者:
mahuifa
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
feat:使用QWebEngineView加载显示Web页面的最小示例2
上级
d08d6d4f
变更
5
隐藏空白更改
内联
并排
Showing
5 changed file
with
83 addition
and
5 deletion
+83
-5
Web/QtWebExamples/QtWebExamples.pro
Web/QtWebExamples/QtWebExamples.pro
+2
-1
Web/QtWebExamples/minimal/main.cpp
Web/QtWebExamples/minimal/main.cpp
+6
-3
Web/QtWebExamples/minimal/minimal.pro
Web/QtWebExamples/minimal/minimal.pro
+1
-1
Web/QtWebExamples/minimal2/main.cpp
Web/QtWebExamples/minimal2/main.cpp
+33
-0
Web/QtWebExamples/minimal2/minimal2.pro
Web/QtWebExamples/minimal2/minimal2.pro
+41
-0
未找到文件。
Web/QtWebExamples/QtWebExamples.pro
浏览文件 @
7486fda8
...
...
@@ -2,7 +2,8 @@ TEMPLATE = subdirs
#
只有当前系统、编译器支持
webenginewidgets模块才编译下列程序
(
MinGW
没有),这里
{
不能换行
qtHaveModule
(
webenginewidgets
)
{
SUBDIRS
+=
minimal
#
使用
QWebEngineView
加载显示
Web
页面的最小示例
SUBDIRS
+=
minimal
#
使用
QWebEngineView
加载显示
Web
页面的最小示例
1
SUBDIRS
+=
minimal2
#
使用
QWebEngineView
加载显示
Web
页面的最小示例
2
}
Web/QtWebExamples/minimal/main.cpp
浏览文件 @
7486fda8
...
...
@@ -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】不能少
#el
se
#el
if DEMO == 2
view
.
setUrl
(
QDir
(
"hello.html"
).
absolutePath
());
// 如果html文件不在资源文件中,这里需要使用【绝对路径】
#endif
view
.
resize
(
1024
,
750
);
view
.
show
();
...
...
Web/QtWebExamples/minimal/minimal.pro
浏览文件 @
7486fda8
#---------------------------------------------------------------------------------------
#
@
功能:
使用
QWebEngineView
加载显示
Web
页面的最小示例
#
1
、
去掉
保留最简单功能,去掉不易于理解的功能;
#
1
、保留最简单功能,去掉不易于理解的功能;
#
2
、分别演示了加载网络地址、资源文件中的
Html
文件,本地
html的方式
;
#
3
、详细的注释,对初学者更友好。
#
@
编译器:
Desktop
Qt
5.12
.
5
MSVC2017
64
bit
(也支持其它编译器)
...
...
Web/QtWebExamples/minimal2/main.cpp
0 → 100644
浏览文件 @
7486fda8
#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
();
}
Web/QtWebExamples/minimal2/minimal2.pro
0 → 100644
浏览文件 @
7486fda8
#---------------------------------------------------------------------------------------
#
@
功能:
使用
QWebEngineView
加载显示
Web
页面的最小示例
2
#
1
、保留最简单功能,去掉不易于理解的功能;
#
2
、分别演示了【
QWebEngineView
::
setHtml
】【
QWebEngineView
::
setContent
】的使用方法;
#
3
、详细的注释,对初学者更友好。
#
@
编译器:
Desktop
Qt
5.12
.
5
MSVC2017
64
bit
(也支持其它编译器)
#
@
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.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录