2014-12-11 16 views
5

Piszę podstawowy edytor tekstu, w którym chcę edytować pliki HTML. Obecnie mam QTextEdit, gdzie mogę napisać tekst, a następnie zapisać do pliku/otworzyć z pliku.Qt: Jak otworzyć plik HTML jako zwykły tekst?

Problem polega na tym, że po otwarciu pliku HTML nie otwiera się on jako zwykły tekst. Zamiast tego otwiera się jako przetworzony HTML. Zdarza się to, nawet jeśli zapisuję jako .txt. Mogę więc napisać w tekście tekst:

, zapisać go jako plik tekstowy. Ale jeśli go otworzę, nagle jest przetwarzany HTML. To samo dzieje się, gdy otwieram pliki HTML zapisane z Notepad ++.

Jak mogę otworzyć plik jako zwykły tekst, tak jak robi to notatnik?

Herezje kod mam już teraz:

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(); 
    } 
} 

Odpowiedz

5

końcu dowiedziałem. Jest to funkcja zwana setPlainText()

Zmiana mojego kodu z

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

do

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

i to wszystko, co otwiera formę tekstową, a nie przetworzony HTML.