Qt怎么读取textEditor的文本及其格式

丨秋水丨 2017-05-28 12:06:35
我要读取textEditor里的文本,而且还要保留文本的格式。
textEditor里的文本字体大小不同,格式也不同(用文本光标实现的)
//就是有大小不同的字,粗细不同的字
在用QString str= editor->toPlainText()读取后,
重新输出到editor里,也就是加上这两句代码:
editor->clear();
editor->setText(str);
得到的结果是,重新输出的文本里所有字的大小和格式都被统一成一种格式
怎么解决这个问题?

部分代码:

void Text::font()
{
QTextCharFormat fmt;
QFont font;
fmt.setFont(font = QFontDialog::getFont(0, font));

QTextCursor cursor = editor->textCursor();
if (cursor.hasSelection())
{
cursor.mergeCharFormat(fmt);
}
else
{
editor->setFont(font);
}

QString str = editor->toPlainText();
//我用的是Qt 5.7,只有toPlainText()这个函数可以用来获取文本
editor->clear();
editor->setText(str);
}


我原本是想实现保存editor的文本,然后可以重新打开,就是saveFile(),writeFile(),openFile()这些功能,所以就想测试一下用QString能不能保留文本及其格式.上面代码的后三句是专门用来测试的.....

还有,在CSDN里,跟Qt有关的这类问题属于哪个版块?
(提问的时候 那个 “ 请选择所要发帖的版块”要选哪个?)
...全文
399 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
丨秋水丨 2017-05-28
  • 打赏
  • 举报
回复
引用 1 楼 jklinux 的回复:
editor->document()->toHtml() 这样可以有字体大小,颜色等格式
谢谢了。
jklinux 2017-05-28
  • 打赏
  • 举报
回复
editor->document()->toHtml() 这样可以有字体大小,颜色等格式

64,648

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

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