Ich bin nun schon einige Male über folgendes Problem gestolpert:
Ich habe mein Graphikfenster, in dem ich painten lasse und in der Bewegung stattfindet. Zwar lass ich update() wie ein Blöder, allerdings verändert sich nichts. Lediglich, wenn ich die Fenstergröße manuell ändere, kommt es zu wundersamerweiser Bewegung.
Code in Auszügen:
Code: Alles auswählen
class PeinField : public QGraphicsView
PeinField::PeinField()
: timerId(0)
{
scene = new QGraphicsScene(this);
scene->setItemIndexMethod(QGraphicsScene::NoIndex);
scene->setSceneRect(-200, -200, 400, 400);
setScene(scene);
setCacheMode(CacheBackground);
setRenderHint(QPainter::Antialiasing);
setTransformationAnchor(AnchorUnderMouse);
setResizeAnchor(AnchorViewCenter);
pendelkopf = new PendelKopf(this);
pendellinie = new PendelLinie(this);
...
scene->addItem(pendellinie);
scene->addItem(pendelkopf);
...
}
void PeinField::berechnePendel(double * x, int dimension_x)
{
pendelende -> setX((*pendelanfang).x() + sin(x[0]) * pendellaenge);
pendelende -> setY((*pendelanfang).y() + cos(x[0]) * pendellaenge);
pendelkopf -> setPos((*pendelende));
update();
}Code: Alles auswählen
class MainWidget : public QWidget
{
private:
PeinField *pein;
};
void MainWidget::getx(double * x, int dimension_x)
{
pein -> berechnePendel(x, dimension_x);
}Danke für jede Hilfe,
Wolv