【发布时间】:2012-01-20 12:00:13
【问题描述】:
我正在使用 Qt C++ 框架编写文本编辑器。我使用 QPlainTextEdit 作为用户写出他的文档的中心小部件。文本可以加粗、斜体和着色。
我在编写保存方法时遇到了问题。我想保存格式,但我发现的只是 toPlainText() 函数,这显然意味着所有格式都丢失了。如何保存格式?
我已附上保存功能的代码,以防我的问题不清楚:
bool TextEditor::saveDocument(QString filePath)
{
qDebug()<<"Saving File at"<<filePath<<endl;
QFile document(filePath);
if(!document.open(QFile::WriteOnly | QFile::Text))
{
qDebug()<<"An Error occur while opening "<<document.fileName()<<endl;
return false;
}
QTextStream writer(&document);
writer << ui->Editor->toPlainText();
writer.flush();
document.close();
qDebug()<<"Document saved successfully.";
if(this->document == NULL)
this->setDocument(&document);
return true;
}
【问题讨论】:
-
QPlainTextEdit 有一个名为 document() 的方法,它返回一个 QTextDocument。那有一个可以使用的 toHtml 函数。 HTH。
-
@user1087135 如果您非常确定自己知道解决方案是什么,请将其发布为答案而不是评论。除了作为获得已接受答案的积分的一种方式外,它还可以将问题从“未回答”列表中删除......并允许原始发布者接受它以“关闭”问题。
-
在评论导致解决方案的情况下,鼓励 OP 编写包含该解决方案的答案并接受它。但是,如果将答案作为答案发布,它确实为 OP 节省了工作:)
-
对不起,我是 stackoverflow 的新手。无论如何发布它作为答案。
标签: c++ qt4 save text-editor qplaintextedit