如何保存Qt应用程序的更改?

时间:2015-07-16 04:57:32

标签: qt

我正在写一篇关于qt的文本编辑器,我偶然发现了保存文件更改的问题。我使用丰富的texedit来更改颜色,但是当我更改所选单词的颜色并保存文件时,它不会保存颜色变化。

我知道我可以创建类似config.txt文件的内容,app可以自动更改,但这会进行全局更改,我想保存每个文件的更改。

可以吗?

备注: 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);
}

1 个答案:

答案 0 :(得分:2)

由于您没有提供用于保存和加载文件的代码(但),我的猜测是:





使用QTextEdit保存RichtText时必须使用 toHtml() <保存文本/ a>而不是 toPlainText()

&#xA;&#xA;

另一种方法是使用底层 QTextDocument QTextDocumentWriter 用于保存文件。

&#xA;&#xA;

如果您澄清了有关编辑和保存文本的问题,我将编辑此答案。< / p>&#XA;