Russian Qt Forum

Qt => Пользовательский интерфейс (GUI) => Тема начата: DenKor от Сентября 12, 2005, 15:52



Название: QTextBrowser в 4 версии.
Отправлено: DenKor от Сентября 12, 2005, 15:52
При переводе приложения с версии 3.4 на версию 4.0.0 столкнулся со следующей проблемой.
Есть код, реализующий показа html страничек в приложении:
Начальная страничка filename - "D:\PDD\index.html".
====================================
browser= new QTextBrowser(bgrp1);
factory = new QMimeSourceFactory();
factory->setExtensionType("html", "text/html;charset=utf8");
browser->setMimeSourceFactory (factory);
browser->setSource(filename);
=====================================
Тут возникают 2 проблемы:
1. Класс QMimeSourceFactory отсутсвует и непонятно как определять кодировку страничек для правильного показа. Из документации я так и не понял, что они советуют по применению этого класса.
 
2. Если убрать код с классом QMimeSourceFactory, то отображается пустое окно.

На форуме qtforum.org этот вопрос тоже встречался, но ответа на него там тоже нет. Пришлось брать в руки отладчик


1.  Оказывается теперь реализация класса qtextbrowser ищет в данных следующий тег :
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=windows1251">
На основании его определяется кодировка странички через вызов Qt::codecForHtml().

2. Оказывается ссылки на файловую систему нужно делать в виде:
"file:D\PDD\index.html"