如何使用结构化 QDataStream 和序列化?
Posted
技术标签:
【中文标题】如何使用结构化 QDataStream 和序列化?【英文标题】:How to use structured QDataStream and Serialization? 【发布时间】:2015-07-29 06:02:06 【问题描述】:我有一个类似 CSS 的数据结构,例如 this 示例:
/* CSS 样式表文件 *.pss */
@include "otherStyleSheet.pss";
/* 评论 */ [propertyID="72100000"] fillColor : #f3f1ed; 最小尺寸:5;线宽:3;
/* 球体 */ [propertyID="2352????"] lineType : dotted;
/* 正方形 */ [propertyID="2115????"] lineType : thinline;
/* ring */ [propertyID="2315????"] lineType : 粗线; [hasInnerRing=true] innerLineType : 细线;
所以我总是有一个根标签 propertyID 及其对应的属性,如 fillColor 和 lineType 等。
让我们假设,这些数据已经在一个 .. 中结构化(属性是子项等):
QStandardItemModel* treeModel = new QStandardItemModel();
当我在这样的 QStandardItemModel 中有上面的示例时,我如何才能以序列化的方式有效地从文件写入该模型? (请不要使用 JSON,不要使用 XML 推荐)
假设我只是对文件中间的一个 propertyID 感兴趣,我可以在不解析前面的 propertyID 的情况下访问它吗? 提前致谢!
【问题讨论】:
【参考方案1】:Here 是一个很好的例子。您的 propertyID 可以构造在一个单独的对象中,例如本例中的 UserRecord..
-
你必须去所有前面的“记录”
【讨论】:
以上是关于如何使用结构化 QDataStream 和序列化?的主要内容,如果未能解决你的问题,请参考以下文章
如何使用 QDataStream 在 Python 中打开 bin 文件
如何在 PySide 和 Python 3.X 中将字节写入 QDataStream?
QDataStream 和 QTcpSocket 上的发送和接收结构