我正在编写一个基本的文本编辑器,我想编辑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();
}
}
答案 0 :(得分:6)
我终于发现了。有一个名为setPlainText()
的函数从
更改我的代码ui->textEdit->setText(in.readAll());
到
ui->textEdit->setPlainText(in.readAll());
它会打开我文本形式的所有内容,而不会处理HTML。