3

Qt C++ フレームワークを使用してテキスト エディターを作成しています。ユーザーがドキュメントを書き出す中央ウィジェットとして QPlainTextEdit を使用しています。テキストは、太字、斜体、および色付きにすることができます。

save メソッドの記述に関しては問題があります。フォーマットを保存したいのですが、見つかったのは 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には、QTextDocumentを返すdocument()というメソッドがあります。使用できるtoHtml関数があります。HTH。

于 2011-12-15T05:37:19.123 に答える