问题标签 [qdatastream]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
qt - 保存和加载矢量Qt 和 OpenCV
我正在使用不支持更新的FisherFaces识别器在Qt和openCV中进行人脸识别,因此我必须保存人脸数据库以在任何更改后重新训练识别器。
这是我的保存代码:
这是用于加载:
问题是我从文件中读回的不是我保存的那么这段代码到底有什么问题(希望不是全部)?
有没有更好/更简单的方法来保存向量?
编辑:
感谢Marek_R,转换部分已修复,但现在使用 QDataStream 保存和加载是问题:
那么是什么导致了这些行?
编辑:
我已经尝试过:
公开QimgVect
和元素化 QDataStream 部分:MatVect-> QimgVect比QimgVect->MatVect并且它确实工作正常,但是在添加 QDataStream 之后:MatVect-> QimgVect->QDataStream和QDataStream->QimgVect->MatVect i得到上面显示的结果(垂直白线)。
编辑
从从 qdatastream 读取后RGB32到Indexed8给出以下结果:
qt - 如何将数据作为 QByteArray/QDataStream 从服务器发送到客户端
在 Qt 的 fortuneserver 示例中,方法 发送了一个 QString sendFortune()
。因此从 QStringList 中选择一个 QString fortunes
:
是否也可以发送其他类型的数据,如文件、图像或多个字符串?还是只能发送一个字符串?
我的第二个问题:作为 QByteArry 发送数据有什么好处,为什么我必须(quint16)
通过设置 QDataStream 来定义?
python - 如何在 PySide 和 Python 3.X 中将字节写入 QDataStream?
在它的Qt文档中QDataStream
说
QDataStream 类提供二进制数据到 QIODevice 的序列化。
所以这就是我想要做的。我想将 Python 3.X 上 PySide 中的字节发送到QDataStream
.
writeRawData
但是期望unicode
作为输入。
给出一个TypeError
:
此外,PySide (1.2.2) 没有实现 from writeBytes
。QDataStream
那么,如何QDataStream
在 PySide 和 Python 3.X 中通过 a 发送二进制数据?
背景:最后我想QSocket
通过a方便地将二进制数据发送到a QDataStream
,并且我想在使用之前对其进行压缩zlib
。
c++ - qt c ++中反序列化地图的大小增加
我已经使用 QDataStream 序列化地图并将对象写入文件。
当我再次反序列化并将地图加载到内存中时,序列化文件大小为1.5mb,内存消耗为300mb。我使用相同的 QDataStream 进行反序列化。
你能告诉我为什么反序列化写入磁盘文件的 1.5mb 序列化对象在内存中占用 300mb 的原因。
序列化:
反序列化:
我已经使用 MEMORYSTATUSEX windows 库检查了内存消耗。反序列化后,消耗的内存为 300 mb。
谢谢您的帮助。
c++ - Big Endian 中的 QDataStream 和字节顺序
我有一个通过网络发送图像的程序。我手动创建像素(使用QRgb
类)并将它们插入到QDataStream
. quint16
当每个像素有 16 或 32 位(我可以插入或)时,这很容易quint32
,但在 RGB888(每像素 24 位)中,我必须使用三个quint8
变量。但我不确定字节的顺序何时QDataStream
有:
我应该按该顺序插入以便稍后正确读取此流吗?
编辑:我知道BigEndian
当我只使用时设置并不重要,quint8
但我想按这样的顺序排列颜色,就像 Qt 进行字节处理(quint32
和setByteOrder
)的情况一样。
c++ - 当 QDataStream 没有这种方法时,为什么可以将 QVariant 写入 QDataStream?
我可以毫无问题地将 QVariant 写入 QDataStream 并从 QDataStream 读取 QVariant。
我的问题是,当 QDataStream 没有方法时,上面的代码如何编译和正常工作operator<<(QVariant v)
?
c++ - QDataStream 无法序列化数据
我正在尝试遵循此处的教程并序列化 Qt 对象。这是我的代码:
当我运行这个程序时,文件会在我的桌面上创建,但是它的大小是 0 kB,它是空白的。自然,当我尝试这个时:
我在str
. 我究竟做错了什么?如果有任何帮助,我正在使用Qt Creator 3.1.1
基于Qt 5.2.1
.
c++ - 读写 QByteArray 到 QDataSteam
QByteArray
我在发送through时遇到了问题QDataStream
。我创建了一个用于存储序列化消息以通过套接字发送的类,类如下所示:
为了测试操作员QDataStream & operator>>
,QDataStream &operator<<
我创建了 testunit。
要正确运行此测试,您需要TextMessage
上课
我的问题是当我运行void Serialization_test::serializedMessageFromArray()
测试时挂断或失败并显示消息
更重要的是,调试读写运算符表明out.writeRawData(message.m_dataArray.data(), message.m_dataArray.length());
写入相同数量的数据,即读入in.readRawData(dataArray.data(), dataLength);
。我不太确定发生了什么。我将不胜感激
c++ - 成员之间的 QDataStream 分配
现在的想法是,当调用 init() 时,应该打开文件并导航到数据开始的位置。现在,每次调用 getData() 时,都应该从文件中读取一大块字节。
伪代码如下所示:
和
我理解为什么会发生这种情况,因为read
ininit
是在本地声明的。但是我应该如何分配数据流以便从中断getData
的地方init
继续?下一个getData
可以从上一个中断的地方继续。调用序列如下所示:
c++ - 将 QImage 保存到 QBuffer
我正在做这样的事情:
选项1:
选项 2:
选项 1 很慢,我不确定选项 2 是否正确?