crossplatform.ru

Здравствуйте, гость ( Вход | Регистрация )


  Ответ в Анимация в QTextEdit
Введите ваше имя
Подтвердите код

Введите в поле код из 6 символов, отображенных в виде изображения. Если вы не можете прочитать код с изображения, нажмите на изображение для генерации нового кода.
 

Опции сообщения
 Включить смайлы?
Иконки сообщения
(Опционально)
                                
                                
  [ Без иконки ]
 


Последние 10 сообщений [ в обратном порядке ]
kibsoft Дата 21.3.2010, 13:29
  Может быть кто-то не понял к чему в предыдущем посте я писал про 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();
}
kibsoft Дата 19.3.2010, 21:23
  Погуглил, понигмил, поассистентил, в итоге планирую перебраться на WebKit..

Да, а сделал вывод вот почему:
Цитата
170585 - QTextBrowser gif animation
Description
Add support for animated gifs and mngs in QTextEdit.

Won't fix:
We will not add this feature to QTextBrowser, as we don't aim for HTML compliance. Our new WebKit based HTML rendering component we are working on for Qt 4.4 will solve this a lot better.

В Qt баг трекере
kibsoft Дата 19.3.2010, 19:03
  Нужно вставить gif файл в QTextEdit, чтобы воспроизводилась анимация, insertImage и явная вставка HTML не помогает - вставляется статическая картинка. Можно ли как нибудь тогда в QTextEdit вставить в нужных местах QLabel с установленным QMovie? Если да, то как это сделать?
Просмотр темы полностью (откроется в новом окне)
RSS Текстовая версия Сейчас: 18.4.2024, 12:18