Может быть кто-то не понял к чему в предыдущем посте я писал про QTextBrowser - просто в приложении он у меня тоже есть. А вот что я накопал в кэше гугла на qtcentre(странно, но на в qtcenter wiki страница не находится, а в кэше гугла сохранилась. Слава ГУГЛУ!), привожу код:
// main.cpp
#include <QtGui>
class AnimatedTextEdit : public QTextEdit
{
Q_OBJECT
public:
AnimatedTextEdit(QWidget* parent = 0)
: QTextEdit(parent) { }
void addAnimation(const QUrl& url, const QString& fileName)
{
QMovie* movie = new QMovie(this);
movie->setFileName(fileName);
urls.insert(movie, url);
connect(movie, SIGNAL(frameChanged(int)), this, SLOT(animate()));
movie->start();
}
private slots:
void animate()
{
if (QMovie* movie = qobject_cast<QMovie*>(sender()))
{
document()->addResource(QTextDocument::ImageResource,
urls.value(movie), movie->currentPixmap());
setLineWrapColumnOrWidth(lineWrapColumnOrWidth()); // causes reload
}
}
private:
QHash<QMovie*, QUrl> urls;
};
int main(int argc, char* argv[])
{
QApplication app(argc, argv);
AnimatedTextEdit textEdit;
textEdit.setHtml("<img src='bart-url'/><img src='homer-url'/>");
textEdit.addAnimation(QUrl("bart-url"), "bart.gif");
textEdit.addAnimation(QUrl("homer-url"), "homer.gif");
textEdit.show();
return app.exec();
}