- 714 名前:711 mailto:sage [2007/06/12(火) 10:02:34 ]
- >>712,713
ありがとうございました。paintの中にrepaintを入れることでできました! void ScatterPoint::paint(QPainter *painter, const QStyleOptionGraphicsItem *option, QWidget *) { if( isSelected() ){ QAbstractGraphicsShapeItem::setBrush(QBrush(Qt::black)); } else { QAbstractGraphicsShapeItem::setBrush(QBrush(Qt::red)); } QGraphicsEllipseItem::paint(painter, option); } でも、select状態になると、boundingRectの枠線も描かれてしまうようで、 やはり細かいことをするにはQGraphicsItemを直接継承したクラスを作った 方がよさそうです。速度はほとんどかわりません。 50000個の円がある程度重なり出すと速度が異様に遅くなります。 これはどうしようもなさそうですね・・・。QGLWidgetを使うのを検討中です。
|

|