Russian Qt Forum

Qt => Пользовательский интерфейс (GUI) => Тема начата: CoderInside от Февраль 25, 2006, 15:18



Название: Анимированный gif в QTextEdit
Отправлено: 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>");


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


Название: Анимированный gif в QTextEdit
Отправлено: Steven_Orko от Февраль 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


Название: Анимированный gif в QTextEdit
Отправлено: Steven_Orko от Февраль 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();
}


Название: Анимированный gif в QTextEdit
Отправлено: CoderInside от Февраль 28, 2006, 22:10
Плохой пример. Картинка показывается поверху QTextEdit и все. Ни управлять ей, ни выделить, ни редактировать, ничего так неполучиться...
Может кто знает еще какой способ? Как же чат делать? Без смайликов анимированных - это не то. Самому ковырять QTextEdit?


Название: Анимированный gif в QTextEdit
Отправлено: CoderInside от Март 04, 2006, 14:40
Снова подниму эту тему. Может у кого появились какие идеи?


Название: Анимированный gif в QTextEdit
Отправлено: Dendy от Март 04, 2006, 16:01
А почему бьІ и нет? Сесть на шею QMovie и обновлять из него картинки через интервал.


Название: Анимированный gif в QTextEdit
Отправлено: guest от Июль 09, 2007, 20:15
возникла такая же проблема. кто-нибудь нащупал приемлимое решение?
или как определить координаты картинок в QTextBrowser?


Название: Re: Анимированный gif в QTextEdit
Отправлено: cemehehko от Июль 26, 2010, 23:46
Я делал это давно MDC(вроде как исходники хозяева уже открыли).
Делается это через QChar::ObjectReplacementCharacter, то есть реализуется QTextObjectInterface, который отображается, на таймер вешается update().