Сохранить в HTML с QPlainTextEdit - PullRequest
       24

Сохранить в HTML с QPlainTextEdit

2 голосов
/ 14 декабря 2011

Я пишу текстовый редактор с использованием фреймворка 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;
}

1 Ответ

2 голосов
/ 15 декабря 2011

QPlainTextEdit имеет метод под названием document (), который возвращает QTextDocument.Это имеет функцию toHtml, которая может быть использована.НТН.

...