だから私はQGraphicsScene
をeyeというクラスに持っています。各スライドを求めてQt:QGraphicsSceneは、私がそれを期待したとき更新していません
void eye::playSequence(int sequenceNum) {
for (int i=0; i<sequences[sequenceNum].numberOfSlides(); i++) {
presentSlide(sequenceNum, i);
time_t start;
time(&start);
bool cont=false;
while (!cont) {
time_t now;
time(&now);
double dif;
dif=difftime(now, start);
if (dif>5.0)
cont=true;
}
}
}
:
void eye::presentSlide(int sequenceNum, int slideNum) {
Slide * slide=sequences[sequenceNum].getSlide(slideNum);
QGraphicsPixmapItem * pic0=scene.addPixmap(slide->getStimulus(0)->getImage());
pic0->setPos(0,0);
QGraphicsPixmapItem * pic1=scene.addPixmap(slide->getStimulus(1)->getImage());
pic1->setPos(horizontalResolution-350,0);
QGraphicsPixmapItem * pic2=scene.addPixmap(slide->getStimulus(2)->getImage());
pic2->setPos(horizontalResolution-350,verticalResolution-450);
QGraphicsPixmapItem * pic3=scene.addPixmap(slide->getStimulus(3)->getImage());
pic3->setPos(0,verticalResolution-450);
}
を今は、私は、次のを表示し、5秒間待って、これは画像の1セットを表示することを期待し、そうでしょう、私は関数を呼び出しますに。代わりに、すべてのスライドが処理され最後の4つの画像が表示されるまで何も表示されません。私はイメージすることができたすべての場所でscene.update()
と呼ぶことを試みたが、何もしなかった。 playSequence
関数が返ってきたときだけシーンが更新されるようです。ここで何が起こっているのでしょうか?