我正在保存一些项特性,并希望将它们序列化为XML,以便写入文件和/或保存在数据库中。但是,我没有看到任何明显的序列化QColor、QSize和QPoint的方法。将QColor、QSize和QPoint序列化为QString的正确方法是什么?
发布于 2013-09-06 22:43:40
QBuffer buffer;
buffer.open(QBuffer::ReadWrite);
QDataStream out(&buffer);
out << "your QColor, QSize, or QPoint";然后,buffer.buffer()返回一个带有序列化QColor、QSize或QPoint的QByteArray。这应该适合写入xml文件。为了安全起见,您应该将QByteArray的内容转换为base64,或者确保它只包含允许的base64字符。
是的,我相信这不是您所希望的,但据我所知,直接序列化到QXmlStreamWriter是不可能的。
发布于 2013-09-06 22:55:20
根本就没有内置的方法。您可以“模仿”那些类型的QDataStream所做的-- 它被记录在案。请记住,QDataStream是二进制格式,而XML不是二进制格式。因此,例如:
https://stackoverflow.com/questions/18665944
复制相似问题