2011-12-14 9 views
2

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

保存メソッドの作成には問題があります。私はフォーマットを保存したいが、私が見つけたのは、明らかにすべてのフォーマットが失われたことを意味する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; 
} 
+1

QPlainTextEditには、QTextDocumentを返すdocument()というメソッドがあります。これには、使用できるtoHtml関数があります。 HTH。 – shekhar

+0

@ user1087135解決策が分かっている場合は、コメントの代わりに回答として投稿してください。受け入れられた回答のポイントを取得する方法の他に、「未回答」リストから質問を受け取り、元のポスターがそれを受け入れて問題を「閉じる」ことができます。 – HostileFork

+0

コメントが解決策につながる場合、OPはその解決策を含む回答を書いてそれを受け入れることが奨励されます。しかし、回答が回答として投稿されている場合は、OPの作業を保存します:) –

答えて

2

QPlainTextEditがQTextDocumentを返す文書()というメソッドを持っています。これには、使用できるtoHtml関数があります。 HTH。

関連する問題