2011-12-14 50 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有一個名爲document()的方法,它返回一個QTextDocument。這有一個toHtml函數可以使用。 HTH。 – shekhar 2011-12-14 17:48:18

回答

2

的QPlainTextEdit有一個方法稱爲文檔()返回一個另外,QTextDocument。這有一個toHtml函數可以使用。 HTH。