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


Полезные ссылки:
user posted image Boost по-русски
user posted image Qt по-русски
Модераторы: archimed7592, Flex Ferrum, JoeUser
  
> 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 @
      И как быть?

      Взять отладчик, выставить брекпоинт, анализировать по шагам.
      Мои программные ништякиhttp://majestio.info
        Цитата 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 @
          а все же?

          Ну а все же отладчик, а?))
          Мои программные ништякиhttp://majestio.info
            Цитата JoeUser @
            Ну а все же отладчик, а?))

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


            Рейтинг@Mail.ru
            [ Script Execution time: 0,0757 ]   [ 15 queries used ]   [ Generated: 18.11.19, 13:40 GMT ]