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

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

上级 b87e07db
......@@ -4,5 +4,5 @@ SUBDIRS += TableModel \ # (1) 这个Demo中展示了如何使用具
SUBDIRS += TableModel2\ # (2) 这个Demo中展示了如何使用具有表视图的专用 SQL 表模型(QSqlTableModel)来编辑数据库中的信息,实现创建空白数据行、自增key
SUBDIRS += CachedTable \ # (3) 通过QSqlTableModel显示和修改数据,通过按键保存修改内容和恢复修改内容
SUBDIRS += RelationalTableModel \ # (4) 本示例展示了如何使用QSqlRelationalTableModel(关系表模型)来可视化数据库中[外键]的使用。
SUBDIRS += SqlWidgetMapper \ # () 通过QDataWidgetMapper将数据库数据映射到小部件
SUBDIRS += SignIn # () 使用QSqlite数据库实现用户登录、后台管理用户功能
SUBDIRS += SqlWidgetMapper \ # (5) 通过QDataWidgetMapper将数据库数据映射到小部件
SUBDIRS += SignIn # (6) 使用QSqlite数据库实现用户登录、后台管理用户功能
......@@ -56,7 +56,7 @@ void Widget::on_but_connect_clicked()
{
m_db = QSqlDatabase::addDatabase("QSQLITE"); // 使用数据库驱动(Qsqlite)和默认连接名称(qt_sql_default_connection)添加一个数据库
qDebug() << QSqlDatabase::defaultConnection; // 打印默认数据库连接名称
// qDebug() << QSqlDatabase::defaultConnection; // 打印默认数据库连接名称
m_db.setDatabaseName("SignIn.db"); // 使用文件数据库(可生成数据库文件,数据一直有效)
if(!m_db.open()) // 打开数据库
......
TEMPLATE = subdirs
# 只有当前系统、编译器支持webenginewidgets模块才编译下列程序MinGW没有),这里 { 不能换行
qtHaveModule(webenginewidgets) {
SUBDIRS += minimal # 使用QWebEngineView加载显示Web页面的最小示例
}
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>本地Html文件</title>
</head>
<body>
<h1 align="center" style="font-size:80px; color:red;">hello </h1>
<p align="center" style="font-size:70px; color:blue;">world</p>
</body>
</html>
#include <QApplication>
#include <QDir>
#include <QWebEngineView>
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)); // 设置窗口标题
// 使用setUrl和load都一样
#if 0
view.setUrl(QUrl("https://www.baidu.com")); // 网址:原文中使用QStringLiteral("https://www.qt.io")创建,但是这里只是创建一次,没必要
#elif 0
view.setUrl(QUrl("qrc:/hello.html")); // 如果html文件在资源文件中,这里【qrc】不能少
#else
view.setUrl(QDir("hello.html").absolutePath()); // 如果html文件不在资源文件中,这里需要使用【绝对路径】
#endif
view.resize(1024, 750);
view.show();
return a.exec();
}
#---------------------------------------------------------------------------------------
# @功能: 使用QWebEngineView加载显示Web页面的最小示例
# 1、去掉保留最简单功能,去掉不易于理解的功能;
# 2、分别演示了加载网络地址、资源文件中的Html文件,本地html的方式
# 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
}
RESOURCES += rc.qrc
<RCC>
<qresource prefix="/">
<file>hello.html</file>
</qresource>
</RCC>
TEMPLATE = subdirs
SUBDIRS += QtWebExamples
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册