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

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

Страниц: [1]   Вниз
  Печать  
Автор Тема: вопрос по QPropertyAnimation  (Прочитано 2016 раз)
mus_zzz
Гость
« : Январь 25, 2016, 08:42 »

Всем привет!Определяю анимацию для объекта в конструкторе:
Код:
 QPropertyAnimation *anim = new QPropertyAnimation(g, "poss");
    anim->setDuration(775);
    anim->setEasingCurve(QEasingCurve::InOutBack);
    anim->start();

При изменении свойства (положение на виджете) объекта должна проигрываться анимация ,но нету ее))
Вопрос:
-необходимо ли использовать  QGraphicsScene  и View для анимации?(смотрел в примерах)


 
Записан
Bepec
Гость
« Ответ #1 : Январь 25, 2016, 09:20 »

poss?

Слишком мало данных, что за g, что за poss.

Ответ на вопрос - нет, можно и просто виджеты дергать.
Записан
mus_zzz
Гость
« Ответ #2 : Январь 25, 2016, 09:58 »

Спасибо.Это созданное мной  новое свойство,перемещения "poss". А вот и класс:
Код:
class Pp :public QObject
{
    Q_OBJECT
   // Q_PROPERTY(QPointF pos READ pos WRITE setPos)
   // Q_PROPERTY(QPointF pol READ polRead WRITE setPol)
    Q_PROPERTY(QPointF poss READ poss WRITE setPos)
public:
    Pp(QWidget *parent):QObject(parent)
    {
        pos.setX(0.0);
        pos.setY(0.0);
    }
    ~Pp()
    {
    }

    QPointF poss() const
    {
        return pos;
    }
    void setPos(QPointF poss)
    {
        qreal x;
        qreal y;
        x = poss.x();
        y = poss.y();
        pos.setX(x);
        pos.setY(y);
    }
    void repaint(float x1,float y1,float width,float height,QWidget* parent)
    {
        QPainter *x = new QPainter(parent);
        x->setPen(QPen(Qt::red,10,Qt::SolidLine));
        x->setBrush(QBrush(Qt::green));

        x->drawEllipse(pos.x(),pos.y(),20,20);
        x->~QPainter();
    }
    QPointF pos;
};


Записан
mus_zzz
Гость
« Ответ #3 : Январь 25, 2016, 10:47 »

Забыл добавить анимацию в переход(метод addAnimation).
Все работает. )
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


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