Jan. 25, 2019, 11:21 a.m.

Как открыть .html файл

HTML, Qt

Здравствуйте.
Как открыть .html файл?
Делаю так, но картинка превращается в странные серые квадратики:

if(!saveFile.isEmpty())
                  {
                      QFile sFile(saveFile);
                      if(sFile.open(QFile::ReadOnly | QFile::Text)){
                          QTextStream in(&sFile);
                          QString text = in.readAll();
                          sFile.close();

                          //QTextDocument textDocument;

                          ui->ResumeHHTextEdit->setHtml(text);
                          qDebug()<<text;
                      }
                  }
Virtual hosting with 10 percent discount
Virtual hosting with 10 percent discount
EVILEG offers reliable hosting with a 10% discount for virtual hosting and 5% for VPS
10

Здравствуйте.
Покажите сам HTML файл (исходник). Подозреваю, что нужно использовать WebEngine для полноценной поддержки формата HTML.

Вот исходник
testHTML.rar testHTML.rar

Попробовал добавить это, но не помогло:

text.replace(QRegExp("src=\"/Test.files/"), "src=\"C:/Users/MS/Downloads/Test.files/")

Урок QWebView - можно попробовать, только в качестве URL указывать локальный файл file:///path/to/file.html

Но ведь QWebView это виджет.
Если вдруг заработает, то странный костыль выйдет

пробую сделать так:

ui->TextEdit->loadResource(0,"file:///C:/Users/MS/Downloads/Test.html");

выдает ошибку: reference to type 'const QUrl' could not bind to an lvalue of type 'const char [40]'

  • Jan. 26, 2019, 12:33 p.m.
  • The answer was marked as a solution.

Вот так отображается в QTextEdit, а оттуда можно уже забирать методом toHtml

if(!saveFile.isEmpty())
              {
                  QFile sFile(saveFile);
                  if(sFile.open(QFile::ReadOnly | QFile::Text)){

                          QTextStream in(&sFile);
                          QString text = in.readAll();
                          sFile.close();
                          text.replace(QRegExp("src=\"Test.files/"), "src=\"C:\\Users\\MS\\Downloads\\Test.files\\"); //замена символов //add images from directory

                          ui->ResumeHHTextEdit->setHtml(text);
                          qDebug()<<text;

                          sFile.remove();  //delete file
                          saveDir.removeRecursively();  //delete directory
                      }
                  }

Открою секрет: QTextEdit - тоже виджет.

я знаю. так себе костыль вышел

но в переменной text существуют картинки, пока не удалили файлы

Comments

Only authorized users can post comments.
Please, Log in or Sign up
D
Aug. 16, 2019, 11:58 a.m.
Damir

C++ - Тест 003. Условия и циклы

  • Result:92points,
  • Rating points8
D
Aug. 16, 2019, 11:46 a.m.
Damir

C++ - Test 005. Structures and Classes

  • Result:75points,
  • Rating points2
u
Aug. 14, 2019, 1:55 p.m.
unrealproro

C++ - Test 005. Structures and Classes

  • Result:83points,
  • Rating points4
Last comments
Aug. 19, 2019, 6:41 a.m.
Andrej Jankovich

это проблема дистрибутива, попробуйте установить через пакетный менеджер snap Суть проблемы: libQt5Core которая лежит в дистрибутиве требует версию glibc >= 2.25 у вас видимо …
b
Aug. 18, 2019, 5:09 a.m.
bbb116

cqtdeployer /home/aleks/CQtDeployer/bin/cqtdeployer: /lib/x86_64-linux-gnu/libc.so.6: version `GLIBC_2.25' not found (required by /home/aleks/CQtDeployer/lib/libQt5Core.so.5) linux mint …
D
Aug. 17, 2019, 8:04 a.m.
Damir

github ChekableTView Правой групповая смена значения при перетаскивании левой как обычно.
Aug. 16, 2019, 12:03 p.m.
Evgenij Legotskoj

Потому, что в минуте 60 секунд
Aug. 16, 2019, 11:16 a.m.
Dmitrij

а почему делитель 60000, а не 1000?
Now discuss on the forum
Aug. 19, 2019, 10:29 a.m.
Aleksej Vnukov

я в дороге, по тому примеру что в есть выше вам чтоб заработало нужно примерно следующее ListModel{ id: list_model } в ListView добавить model:list_model там где кноп…
Aug. 19, 2019, 8:47 a.m.
Pavel K.

bool YourClass::chekIfEmpty(const QString& table) { return getCount(table) == 0;}int YourClass::getCount(const QString& table, const QString& where) { QString command =…
Aug. 19, 2019, 8:29 a.m.
Pavel K.

посмотрите тут , практически тоже самое делал(пробегал по документу). А так в принципе : QFile file(Path);if(file.exist){ file.open(QIODevice::WriteOnly); // ReadWrite for…
Aug. 19, 2019, 2:39 a.m.
grig_p

Здравствуйте! Хотелось бы в своем приложении сделать цетрализованную обработку исключительных ситуаций для их логирования. Переопределил метод notify(): static const int EC_MAINLOOP…
Aug. 15, 2019, 2:19 a.m.
Mihailll

Плюсы и qml отличаются, с++ логичней
Looking for a Job?
14,000.00 руб. - 40,000.00 руб.
Разработчик Qt
Annino, Moscow Oblast, Russia
5,000.00 руб. - 15,000.00 руб.
Дизайнер
Moskovskiy, Moscow, Russia
25,000.00 руб. - 30,000.00 руб.
Разработчик Qt/C++
Barnaul, Altai Krai, Russia

For registered users on the site there is a minimum amount of advertising

EVILEG
About
Services
© EVILEG 2015-2019
Recommend hosting TIMEWEB