我添加了多個橢圓我QGraphicsScene:如何在繼承QGraphicsEllipseItem添加到QGraphicsScene
QGraphicsEllipseItem *ellipse;
ellipse = sceneCenter->addEllipse(xCor-4,yCor-4,imgW+7,imgH+7,blackpen,redBrush);
現在,我想補充hoverEnterEvent所以每次我拖我的鼠標,這些橢圓它會做一些時間,所以我做了此類:
#include <QGraphicsEllipseItem>
#include <QMessageBox>
class myEllipse : public QGraphicsEllipseItem
{
public:
myEllipse(QGraphicsEllipseItem* parent);
void hoverEnterEvent(int index);
};
#endif // MYELLIPSE_H
#include "myellipse.h"
myEllipse::myEllipse(QGraphicsEllipseItem* parent):QGraphicsEllipseItem(parent){
setAcceptHoverEvents(true);
}
void myEllipse::hoverEnterEvent(int index){
QMessageBox q;
q.setText("hello");
q.exec();
}
我想用上面的類創建的對象替換QGraphicsEllipseItem。我該怎麼做呢?
戰利品在[QGraphicsScene ::的addItem(*的QGraphicsItem)](http://qt-project.org/doc/qt-4.8/qgraphicsscene.html#addItem) – jbh 2014-09-01 12:09:57
@jbh我知道如何添加正常的QGraphicsItem。我只是不知道如何添加繼承。我試圖添加像正常,但它說無效轉換QGraphicsEllipseItem *到myEllipse *。 – 2014-09-01 12:17:16
'addEllipse'只是一個簡寫。在你的橢圓項目(位置,畫筆等)上設置你想要的屬性,然後將它添加到你的場景中。 – jbh 2014-09-01 12:19:01