Ich habe ein QGraphicsScene, die ein QGraphicsItem namens pointer (einfach ein ausgefüllter Kreis) enthält. Wenn sich der Mauszeiger über der Szene bewegt, soll der Pointer diesem folgen.
Die Pointerklasse sieht folgendermaßen aus:
Code: Alles auswählen
// -- pointer.h ------------------------------------
//...
class Pointer : public QObject, QGraphicsItem
{
Q_OBJECT
public:
Pointer();
//...
};
Die Szene hab ich folgendermaßen implementiert:
Code: Alles auswählen
// -- graphwidget.h ------------------------------------
//...
class Pointer
class GraphWidget : public QGraphicsView
{
Q_OBJECT
public:
GraphWidget(QWidget *startMenue);
protected:
void mouseMoveEvent(QGraphicsSceneMouseEvent *event);
//...
private:
Pointer *pointer;
}
Code: Alles auswählen
// -- graphwidget.cpp ------------------------------------
GraphWidget::GraphWidget(QWidget *startMenue)
{
//...
this->setMouseTracking(true);
QQraphicsScene *scene = new QGraphicsScene(this)
//...
setScene(scene);
//...
pointer = new Pointer;
scene->addItem(pointer);
//...
}
//...
void GraphWidget::mouseMoveEvent(QGraphicsSceneMouseMoveEvent *event)
{
event->accept();
pointer->setPos(event->scenePos());
}
Danke schon mal!