Слоты с QGraphicPixmapItem

Я создал класс, производный от QObject а также QGraphicsPixmapItemМоя цель состоит в том, чтобы отображать несколько различных изображений огня, чтобы сделать своего рода рисунок, поэтому я использую таймер и функцию подключения, но мои изображения не отображаются, и у меня появляется эта ошибка:

QObject::connect: No such slot QObject::animation()

И это мой код

class Fire: public QObject,public QGraphicsPixmapItem

{

public:
 Fire: QObject(),QGraphicsPixmapItem(){

    }


private:

    void display() {

             timer=new QTimer(this);
             imageFire<<(QPixmap(":/feu1.png"))<<(QPixmap(":/feu2.png"))<<(QPixmap(":/feu3.png"))<<(QPixmap(":/feu4.png"))<<(QPixmap(":/feu5.png"));
             connect(timer, SIGNAL(timeout()),this, SLOT(animation()));
             timer->start(1000);

            //image.load(":/feu1.png");
            //this->setPixmap(image);


    QPixmap image;
    QList<QPixmap> imageFire;
    QTimer *timer;
    int i;


private slots:
    void  animation(){
       /* foreach (QPixmap pix, imageFire) {
            this->setPixmap(pix);
        }*/

        image=imageFire.at(i);
        this->setPixmap(image);
        i++;

        if(i==imageFire.size()){
            i=0;
        }
    }
};

Если я правильно понял, это потому, что QGrpahicPixmapItem не наследуется от QObjectИтак, я попытался унаследовать мой класс Fire от QGraphicsObject но дело в том, что этот класс не позволяет мне использовать setPixmap() функция! Итак, как я могу пройти через эту проблему при использовании класса QGraphicPixmapItem??

0 ответов

Другие вопросы по тегам