用QGraphicsView做完的东西怎样保存为一个文件?

zhangxinyu99 2016-07-28 09:58:59
用编写的软件打开这个文件之后还可以继续编辑
...全文
1558 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
fearlazy 2019-09-20
  • 打赏
  • 举报
回复
QGraphicsView只是显示用的,至于数据的保存完全可以自定义文件格式。按照格式读写数据就是了
nycgwqd 2019-09-04
  • 打赏
  • 举报
回复
把类名称或者类型,做一个标记,一起序列化
windywater119 2017-02-27
  • 打赏
  • 举报
回复
引用 3 楼 zhangxinyu99 的回复:
[quote=引用 2 楼 kuyucman 的回复:] 可用QDataStream进行序列化为二进制,当然像楼上说的,可以序列化为明文的:xml 。 还有其他c c++的序列化库,如boost的和google的。 序列化与反序列化要注意的一个地方是:序列化文件的向前兼容和向后兼容能力。
如果文件中写进去多个类读出来的的时候我怎样识别要读出来的是哪个类然后new出这个类呢?[/quote] 为每个类编号,读XML的时候先读出这个编号,然后代码里使用工厂模式new出不同的类。
Java识堂 2017-02-13
  • 打赏
  • 举报
回复
保存成xml文件即可
东莞某某某 2016-07-31
  • 打赏
  • 举报
回复
通常来说,你自己的序列化格式,你自己已经知道,所以在反序列化的时候,自然按照原有协议格式进行。 相关用法在QDatestream文档里说的很清楚。 如果真的需要区分不同的类(比如继承体系中的不同子类),你可以先打一个tag用于区分不同的类,比如classname
zhangxinyu99 2016-07-31
  • 打赏
  • 举报
回复
引用 2 楼 kuyucman 的回复:
可用QDataStream进行序列化为二进制,当然像楼上说的,可以序列化为明文的:xml 。 还有其他c c++的序列化库,如boost的和google的。 序列化与反序列化要注意的一个地方是:序列化文件的向前兼容和向后兼容能力。
如果文件中写进去多个类读出来的的时候我怎样识别要读出来的是哪个类然后new出这个类呢?
东莞某某某 2016-07-28
  • 打赏
  • 举报
回复
可用QDataStream进行序列化为二进制,当然像楼上说的,可以序列化为明文的:xml 。 还有其他c c++的序列化库,如boost的和google的。 序列化与反序列化要注意的一个地方是:序列化文件的向前兼容和向后兼容能力。
冷静忍耐 2016-07-28
  • 打赏
  • 举报
回复
引用 楼主 zhangxinyu99 的回复:
用编写的软件打开这个文件之后还可以继续编辑
把你的文字、形状的数据,写成文本或者xml保存。并且加上软件识别的后缀,例如办公软件的excel、doc等类似后缀 当然你还可以用压缩代码或者压缩的库进行文件压缩。

16,216

社区成员

发帖
与我相关
我的任务
社区描述
Qt 是一个跨平台应用程序框架。通过使用 Qt,您可以一次性开发应用程序和用户界面,然后将其部署到多个桌面和嵌入式操作系统,而无需重复编写源代码。
社区管理员
  • Qt
  • 亭台六七座
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧