QTextEdit编辑器,如何做成类似word的效果(主要是文件的保存和读取)

z55716368 2019-04-17 01:48:21
最近做一个小东西,主要用于记录日志。
想要的效果,可以输入文字和添加图片
然后保存成.log格式的文件

目前对于图片添加采用以下代码
QImage image = QImageReader(file).read();
QTextDocument *textDocument = m_textEdit->document();
textDocument->addResource(QTextDocument::ImageResource, url, QVariant(image));
QTextCursor cursor = m_textEdit->textCursor();
QTextImageFormat imageFormat;
imageFormat.setWidth(image.width() / 3 * 2);
imageFormat.setHeight(image.height() / 3 *2);
imageFormat.setName(url.toString());
cursor.insertImage(imageFormat);


保存文件如下
QTextDocumentWriter writer("D:/fie/112.log");
bool success = writer.write(m_textEdit->document());
if (success)
m_textEdit->document()->setModified(false);

//QByteArray buffer = m_textEdit->toPlainText().toLatin1();
//QFile file(xxx);
//QTextStream in(&file);
//in << buffer;


这种图片实际上只是通过富文本连接进行显示。

有没有将文字数据和图片数据都保存到同一文件的方法呢,就像类似于word的这种样式
...全文
1391 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
z55716368 2019-04-22
  • 打赏
  • 举报
回复
有朋友也跟我说word是压缩包的模式,目前准备将文字html信息和图片信息通过数据串组起来保存,然后在打开时解析。谢谢各位的解答
dubuyunjie 2019-04-20
  • 打赏
  • 举报
回复
Word其实是个压缩包,你哪个扩展功能可以看看gof设计模式那本书,就是以文本编辑器来举例的
不易易 2019-04-18
  • 打赏
  • 举报
回复
日志要带图片?
那得用二进制写了吧
z55716368 2019-04-18
  • 打赏
  • 举报
回复
我不知道这样是否是回1楼的帖子。 有思考文件和图片一起储存的时候的保存方法,如果用二进制保存那么在显示的时候可以直接读二进制给显示接口吗? 目前用的 m_textEdit->setPlainText(str);这个接口显示数据,其中str类型是QString 并且以后扩展应该还会有文字信息例如大小、颜色、图片大小等的加入。那么可能需要自己构建数据格式来储存 另外这样的数据也不知道如何显示到QTextEdit

16,203

社区成员

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

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