问:如何以纯文本格式打开Html文件?

时间:2014-12-11 02:02:42

标签: html c++ qt file text

我正在编写一个基本的文本编辑器,我想编辑HTML文件。目前我有一个QTextEdit,我可以在其中写入文本,然后保存到文件/从文件打开。

问题是,当我打开HTML文件时,它不会以纯文本形式打开。相反,它将作为已处理的HTML打开。即使我保存为.txt,也会发生这种情况。所以我可以写

<html>
    <h1>Test</h1>
</html>

在textEdit中,将其另存为文本文件。但是,如果我打开它,突然它处理了HTML。当我打开从Notepad ++保存的Html文件时,会发生同样的事情。

如何以纯文本形式打开文件,就像记事本一样?

这是我现在的代码:

void Notepad::on_actionOpen_triggered()
{
    QString fileName = QFileDialog::getOpenFileName(this, tr("Open file"), QString(),
                                                    tr("Text Files (*.txt);;C++ Files (*.cpp *h);;All types (*.*)"));
    if (!fileName.isEmpty()) {
        QFile file(fileName);

        if (!file.open(QIODevice::ReadOnly)) {
            QMessageBox::critical(this, tr("Error"), tr("Could not open file"));
            return;
        }

        QTextStream in(&file);
        ui->textEdit->setText(in.readAll());
        file.close();
    }
}

1 个答案:

答案 0 :(得分:6)

我终于发现了。有一个名为setPlainText()

的函数

更改我的代码
ui->textEdit->setText(in.readAll());

ui->textEdit->setPlainText(in.readAll());

它会打开我文本形式的所有内容,而不会处理HTML。