Russian Qt Forum
Ноябрь 26, 2024, 00:51 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1]   Вниз
  Печать  
Автор Тема: Анимированный gif в QTextEdit  (Прочитано 8974 раз)
CoderInside
Гость
« : Февраль 25, 2006, 15:18 »

Добрый день!
Пробовал кто нибудь помещать в QTextEdit анимированный gif?
Без анимации Gif туда добавляется просто:

Код:
QTextCursor cursor = textCursor();
cursor.insertImage("images/avatar.gif");


А вот как с анимацией то быть? Подскажите кто знает.

P.S. В случае с QLabel делал так:
Код:
QLabel label;
QMovie *movie = new QMovie("images/avatar.gif");
label.setMovie(movie);
movie->start();


добавлено спустя 24 минуты:

 Тоже не помогло... Гиф не крутиться...  :cry:
insertHtml("<img src=images/avatar.gif>");
Записан
Вудруф
Гость
« Ответ #1 : Февраль 26, 2006, 07:26 »

<img src="images/avatar.gif">
Цитата из спецификации:
В некоторых случаях авторы могут устанавливать значение атрибута без использования кавычек. Значение атрибута может содержать только (a-z и A-Z), цифры (0-9), дефисы (ASCII десятеричная 45), точку (ASCII десятеричная 46), символ подчёркивания (ASCII десятеричная 95) и двоеточие (ASCII десятеричная 58).
Записан
Steven_Orko
Гость
« Ответ #2 : Февраль 27, 2006, 17:49 »

I am afraid that we do not support animated GIFs in QTextEdit. The only
animated GIF support we have is in regards to QMovie, which you can set
on a QLabel.

One solution could be to set a QLabel with an animated GIF on top of the
static image inside the QTextEdit. You would have to position and clip
the label yourself as necessary, though. Please see the following web
pages for more information:

        http://doc.trolltech.com/4.1/qmovie.html
        http://doc.trolltech.com/4.1/qlabel.html#setMovie

Trolltech Support
Записан
Steven_Orko
Гость
« Ответ #3 : Февраль 28, 2006, 21:47 »

Вот небольшой пример, как можно это сделать. Содержание нужно сохранить в отдельный файл cpp:
Код:
#include <QtGui>

int main(int argc, char *argv[]) {
    QApplication app(argc, argv);

    QTextEdit e(0);
    QTextCursor c = e.textCursor();
    QLabel l(&e);
    QMovie *animGif = new QMovie("test.gif");

    l.setMovie(animGif);
    animGif->start();

    c.insertText("Before GIF");
    c.insertImage("test.gif");
    c.insertText("After GIF");

    l.move(68, 6); // the tricky part is to calcualte where to move the label with the movie to

    e.resize(480, 640);
    e.show();

    return app.exec();
}
Записан
CoderInside
Гость
« Ответ #4 : Февраль 28, 2006, 22:10 »

Плохой пример. Картинка показывается поверху QTextEdit и все. Ни управлять ей, ни выделить, ни редактировать, ничего так неполучиться...
Может кто знает еще какой способ? Как же чат делать? Без смайликов анимированных - это не то. Самому ковырять QTextEdit?
Записан
CoderInside
Гость
« Ответ #5 : Март 04, 2006, 14:40 »

Снова подниму эту тему. Может у кого появились какие идеи?
Записан
Dendy
Гость
« Ответ #6 : Март 04, 2006, 16:01 »

А почему бьІ и нет? Сесть на шею QMovie и обновлять из него картинки через интервал.
Записан
guest
Гость
« Ответ #7 : Июль 09, 2007, 20:15 »

возникла такая же проблема. кто-нибудь нащупал приемлимое решение?
или как определить координаты картинок в QTextBrowser?
Записан
cemehehko
Гость
« Ответ #8 : Июль 26, 2010, 23:46 »

Я делал это давно MDC(вроде как исходники хозяева уже открыли).
Делается это через QChar::ObjectReplacementCharacter, то есть реализуется QTextObjectInterface, который отображается, на таймер вешается update().
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.113 секунд. Запросов: 21.