Qt+WebAssembly学习笔记

本文是一系列关于Qt+WebAssembly的学习笔记,涵盖了从Windows到Ubuntu的开发环境搭建,以及在不同操作系统下使用QtCreator进行开发的实践经验。作者尝试编译libreOffice,尽管遇到运行失败的问题,但仍对Qt6移植到WebAssembly寄予厚望。

前记:

WebAssembly 或者 wasm是一个可移植、体积小、加载快并且兼容 Web 的全新格式,目前主要浏览器厂商已经支持;虽然已经支持,但支持仍然不完善,存在不少问题,但从长远看,潜力还是很大的;笔者结合Qt已经使用几年,因其限制太多,至今未正式使用在项目中,希望Qt6可以尽早移植

Qt+WebAssembly学习笔记(一)win10+Qt5.15.2开发环境搭建

Qt+WebAssembly学习笔记(二)ubuntu20.04+Qt5.15.2开发环境搭建

Qt+WebAssembly学习笔记(三)win10下使用Qt Creator开发

Qt+WebAssembly学习笔记(四)ubuntu20.04下使用Qt Creator开发

Qt+WebAssembly学习笔记(五)编译libreOffice(运行失败) 

QWebChannel的起源与Qt和Web技术面临的挑战和机遇相关,它打破了传统Web应用和桌面应用之间的界限,使Web前端调用本地后端功能或桌面应用功能交由Web前端控制成为可能[^1]。 Qt在全栈开发中作用广泛,不限于GUI,还支持网络、数据库等,可构建前后端一体应用。通过Qt for WebAssembly能将C++应用编译到浏览器中实现反向嵌入,这为结合QWebChannel提供了环境基础[^2]。 在代码示例方面,有在Web网页中进行2D和3D显示普通Dicom文件夹中医学生影像数据的示例,其中main.cpp代码包含了QWebChannel的使用,代码如下: ```cpp #include "viewer.h" #include <QGuiApplication> #include <QQmlApplicationEngine> #include <QWebChannel> #include <QWebEngineView> #include <QWebChannelAbstractTransport> #include <QQuickView> int main(int argc, char *argv[]) { QGuiApplication app(argc, argv); QQuickView viewer; viewer.setSource(QUrl("qrc:/main.qml")); viewer.show(); Viewer viewerObject; QWebChannel channel; channel.registerObject(QStringLiteral("viewer"), &viewerObject); QWebEngineView *webView = new QWebEngineView(); webView->resize(800, 600); webView->show(); QWebChannelAbstractTransport *transport = new QWebChannelQmlTransport(viewer.rootContext()); channel.registerTransport(transport); return app.exec(); } ``` 该代码展示了在Qt环境下QWebChannel的基本使用方式,在结合WebAssembly时可参考此代码结构进行开发和调整[^3]。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

꧁白杨树下꧂

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值