我已经注册了一个类,该类返回读取文件的结果,该文件的类型为QByteArray
,这似乎不是QML
中本机支持的文件,所以我得到一些胡言乱语,即使它是正确的数据,我也无法将其转换为 blob。
所以我试图在最后得到一个Javascript类型的File
或Blob
,这本身就是最终目标。所以这 2 种 JavaScript 类型在 QML 中不存在。
我的问题是,如何创建一个缓冲区类型,该类型通过序列化的 Json 对象到我的嵌入式 Web。
即使是一个坏主意,我什至尝试过QString,但是我在将QByteArray
转换为QString
时丢失了数据
自 Qt 5.8 以来ArrayBuffer
。
2016-03-053b7e2a69f7eb8597c807de39b4de39721e9e2bd2
将C++类型的QByteArray转换为QML中的ArrayBuffer,反之亦然
Nobuaki Sukegawa,审稿人:Simon Hausmann。
所以提到
Qt跟踪器有点相关提及
我为我的需求所做的是将QByteArray
、QBuffer
和QDataStream
的组合包装在一个QObject
中,以及读取和写入基元类型并从磁盘保存到/加载的函数以及其他一些辅助功能,以创建一个非常有用的BinaryData
类型,作为QObject
派生, 可以自由传递,无需进行任何潜在的昂贵转换。
这允许在C++和QML中以相同的方式使用它,如果需要,您可以轻松为其制作toArrayBuffer()
方法。