Наши проекты:
Журнал · Discuz!ML · Wiki · DRKB · Помощь проекту |
||
ПРАВИЛА | FAQ | Помощь | Поиск | Участники | Календарь | Избранное | RSS |
[3.142.195.24] |
|
Сообщ.
#1
,
|
|
|
Добрый день. Столкнулся с такой проблемой: Дано: Qt 4.4.3 WinCE. Нужно отображать html страничку средствами Qt. Ничего умнее, чем взять стандартный QTextBrowser и допилить его я не придумал, благо в пятой вообще все из коробки работает. Все бы ничего, но не могу заставить отображаться картинки из html. Я читал про то, что это баг и его пофиксили в новых версиях, однако имеем то, что имеем. Пробовал переопределять loadResource примерно так^
QVariant SnowTextBrowser::loadResource(int type, const QUrl &name) { if (type == QTextDocument::ImageResource && name.scheme() == QLatin1String("data")) { QRegExp Rx("^image/[^;]+;base64,(.+)$"); if (Rx.indexIn(name.path())>=0) { QImage Image; if (Image.loadFromData(QByteArray::fromBase64(Rx.cap(1).toLatin1()))) return QVariant::fromValue(Image); } } return QTextBrowser::loadResource(type, name); } выхлоп нулевой. И как быть? |
Сообщ.
#2
,
|
|
|
kotmatroskin55, в этой версии Qt в QTextBrowser'е картинки вообще отображаются?
Я имею ввиду, у которых src="http://..." или src="file://..."? Потому как приведенный тобой пример - по сути допил для отображения внедренных картинок типа src="data:image/...". Добавлено Цитата kotmatroskin55 @ И как быть? Взять отладчик, выставить брекпоинт, анализировать по шагам. |
Сообщ.
#3
,
|
|
|
Цитата JoeUser @ Взять отладчик, выставить брекпоинт, анализировать по шагам. а все же? может есть какие идеи? я пробовал и так QVariant SnowTextBrowser::loadResource(int type, const QUrl &name) { if (type == QTextDocument::ImageResource) { QString s = name.toString(); s.remove("file://"); QUrl u(s); return QImage(u.toLocalFile()); } return QTextBrowser::loadResource(type, name); } Не особо помогает. Как ему сказать "покажи картинку, дорогой друг" |
Сообщ.
#4
,
|
|
|
Цитата kotmatroskin55 @ а все же? Ну а все же отладчик, а?)) |
Сообщ.
#5
,
|
|
|
Цитата JoeUser @ Ну а все же отладчик, а?)) ну а все же лень - и сборка Qt 4.8.7 - и все работает |