2014-12-11 59 views
5

我正在编写一个基本的文本编辑器,我想编辑HTML文件。目前我有一个QTextEdit可以写文本,然后保存到文件/从文件打开。Qt:如何以纯文本格式打开Html文件?

问题是,当我打开一个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(); 
    } 
} 

回答

5

我终于找到了。有一个名为setPlainText()的函数

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

更改我的代码

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

,并打开我的一切文本形式,而不是处理HTML。