На главную Наши проекты:
Журнал   ·   Discuz!ML   ·   Wiki   ·   DRKB   ·   Помощь проекту
ПРАВИЛА FAQ Помощь Участники Календарь Избранное RSS
msm.ru
! Правила раздела *nix / gcc / Eclipse / Qt / wxWidgets / GTK+
  • При создании темы ОБЯЗАТЕЛЬНО указывайте версию тулкита / библиотеки / компилятора.
  • Перед тем как задать вопрос, сформулируйте его правильно, чтобы вас могли понять.
  • Нарушение Правил может повлечь наказание со стороны модераторов.


Полезные ссылки:
user posted image Boost по-русски
user posted image Qt по-русски
Модераторы: archimed7592
  
> Qt 4.4 QTextBrowser images
    Добрый день. Столкнулся с такой проблемой: Дано: Qt 4.4.3 WinCE. Нужно отображать html страничку средствами Qt. Ничего умнее, чем взять стандартный QTextBrowser и допилить его я не придумал, благо в пятой вообще все из коробки работает. Все бы ничего, но не могу заставить отображаться картинки из html. Я читал про то, что это баг и его пофиксили в новых версиях, однако имеем то, что имеем. Пробовал переопределять loadResource примерно так^
    ExpandedWrap disabled
      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);
      }

    выхлоп нулевой. И как быть?
      kotmatroskin55, в этой версии Qt в QTextBrowser'е картинки вообще отображаются?
      Я имею ввиду, у которых src="http://..." или src="file://..."?

      Потому как приведенный тобой пример - по сути допил для отображения внедренных картинок типа src="data:image/...".

      Добавлено
      Цитата kotmatroskin55 @
      И как быть?

      Взять отладчик, выставить брекпоинт, анализировать по шагам.
        Цитата JoeUser @
        Взять отладчик, выставить брекпоинт, анализировать по шагам.

        а все же? может есть какие идеи? я пробовал и так
        ExpandedWrap disabled
          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);
          }

        Не особо помогает. Как ему сказать "покажи картинку, дорогой друг"
          Цитата kotmatroskin55 @
          а все же?

          Ну а все же отладчик, а?))
            Цитата JoeUser @
            Ну а все же отладчик, а?))

            ну а все же лень - и сборка Qt 4.8.7 - и все работает :)
            0 пользователей читают эту тему (0 гостей и 0 скрытых пользователей)
            0 пользователей:


            Рейтинг@Mail.ru
            [ Script execution time: 0,0242 ]   [ 16 queries used ]   [ Generated: 10.04.24, 21:30 GMT ]