Я пишу текстовый редактор на qt, и я наткнулся на проблему сохранения изменений файлов. Я использую rich texedit для внесения изменений в цвета, но когда я меняю цвета выбранных слов и сохраняю файл, он не сохраняет изменения цвета.Как сохранить изменения в приложении Qt?
Я знаю, что могу сделать что-то вроде файла config.txt, где приложение может автоматически нарушать изменения, но это приведет к глобальным изменениям, и я хочу сохранить изменения для каждого отдельного файла.
Можно ли это сделать?
Примечание: Word office может сохранять отдельные изменения, поэтому 1.doc и 2.doc отличаются своим форматированием.
void MainWindow::on_actionFont_triggered()
{
bool ok;
QFont font = QFontDialog::getFont(&ok,QFont("Palatino Linotype",12,QFont::Normal),this);
if(ok)
ui->textEdit->setFont(font);
}
void MainWindow::on_actionText_Color_triggered()
{
QColor color = QColorDialog::getColor(Qt::white,this);
if(color.isValid())
ui->textEdit->setTextColor(color);
}
void MainWindow::on_actionBackground_Color_triggered()
{
QColor color = QColorDialog::getColor(Qt::white,this);
QPalette palette;
palette.setColor(QPalette::Base,color);
if(color.isValid())
ui->textEdit->setPalette(palette);
}
Просьба уточнить ваш вопрос: что такое виджет Qt, который вы используете? Как вы применяете изменения цвета? Как вы пытаетесь сохранить файл? – Mailerdaimon
Относительно вашего замечания: * .doc isn't «просто файл». Вы можете распаковать файл * .doc и увидеть, что он состоит из нескольких файлов. Если вы посмотрите дальше, вы увидите, что такие вещи, как форматирование, сохраняются в структуре xml. – Mailerdaimon
Настройки палитры для редактирования текста текста на самом деле не так, как вы должны идти. Это используется для установки цвета по умолчанию для всего текста в вашем виджете. Чтобы покрасить отдельные слова, вы действительно должны переключиться на html. См. Http://stackoverflow.com/q/2857864/2927205 – Mailerdaimon