所以,我正在 Qt 中制作一个文本编辑器。它主要完成非常基本的功能。新建文件、保存、打开、剪切、复制、粘贴、粗体、下划线、斜体、撤消和重做。但是,当我将文本加粗、斜体或下划线,然后再次打开文本文件时,它会以纯文本形式打开。就像你打开一个文件一样,加粗一些文本,保存它然后再次打开它,它将是纯文本而不是粗体或任何东西。我曾尝试阅读有关如何使其按我想要的方式工作的信息,但没有运气。我的程序甚至可以创建/打开富文本文件,但它的工作方式完全相同。我了解我编写代码的方式使其按原样工作。我只是不知道如何“修复”它。
以下是我编写的使用 QFileDialog 保存和打开文件的代码块:
void WordWriteMain::on_actionOpen_File_triggered()
{
QString fileName = QFileDialog::getOpenFileName(this,"Open a file","","Text (*.txt);;Rich Text (*.rtf)");
QFile file(fileName);
if(file.open(QIODevice::ReadOnly|QIODevice::Text)){
ui->textBox->setText((file.readAll()));
}
}
void WordWriteMain::on_actionSave_triggered()
{
QString fileName = QFileDialog::getSaveFileName(this,"Open a file","","Text (*.txt);;Rich Text (*.rtf)");
QFile file(fileName);
if(file.open(QIODevice::WriteOnly|QIODevice::Text)){
file.write(ui->textBox->toPlainText().toUtf8());
}
}
我正在尝试使用 QFileDialog 做些什么吗?就像我说的那样,我理解 file.write(ui->textBox->toPlainText().Utf8()); 将所有文本转换为纯文本,但我不知道如何在不这样做的情况下使保存槽工作。一如既往,非常感谢您花时间帮助我并阅读我的问题。如果需要更多信息,我将非常乐意提供。编辑:另外,我希望将来能够添加段落对齐,所以我应该让我的文本编辑器严格地富文本吗?