3

我正在使用 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;
}
4

1 回答 1

3

QPlainTextEdit 有一个名为 document() 的方法,它返回一个 QTextDocument。那有一个可以使用的 toHtml 函数。HTH。

于 2011-12-15T05:37:19.123 回答