Eigenes Object von QGraphicsItem und QObject ableiten
Verfasst: 30. Juni 2010 22:31
Ich möchte ein Objekt von QGraphicsellipseItem ableiten, da ich im Objekt sen Signal/Slot - Mechanismus brauche. Deshalb muss auch, um connecten zu können, das Object von QObject abgeleitet werden.
Hier mal (leicht gekürzt) die Header-Datei:
und die Realisierung:
Wenn ich das Programm übersetzte bekomme ich vom Compiler folgende Fehlermeldungen:
Was mache ich hier falsch, bzw. lässt sich das auf intelligentere Weise lösen?
Hier mal (leicht gekürzt) die Header-Datei:
Code: Alles auswählen
class Item : public QGraphicsEllipseItem, QObject{
Q_OBJECT
public:
Item( qreal x, qreal y );
private slots:
void slotTimeLineStart();
void slotUpdate( qreal t );
private:
QTimeLine *timeLine;
}
Code: Alles auswählen
Item::Item( qreal x, qreal y ) : QGraphicsEllipseItem( x, y, 8.0, 8.0 ), QObject(){
setBrush( Qt::red );
timeLine = new QTimeLine( 1000 );
timeLine->setLoopCount( 5 );
connect( timeLine, SIGNAL( valueChanged( qreal ) ),
this, SLOT( slotUpdate( qreal ) ) );
}
void Item::slotTimeLineStart(){
timeLine->start();
}
void Item::slotUpdate( qreal t ){
if( t<0.85 ){
setVisible( true );
}else{
setVisible( false );
}
}
Wenn ich das Programm übersetzte bekomme ich vom Compiler folgende Fehlermeldungen:
Code: Alles auswählen
moc_item.cpp: 42: error: 'staticMetaobject' is not a member of 'QGraphicsEllipseItem'
moc_item.cpp: in member function 'virtual void* Item::qt_metacast( const char*)':
moc_item.cpp: 58: error: 'qt_metacast' is not a member of 'QGraphicsEllipseItem'
moc_item.cpp: in member function 'virtual int Item::qt_metacall( QMetaobject::Call, int, void**)':
moc_item.cpp: 63: error: 'qt_metacall' is not a member of "QGraphicsEllipseItem'