Что-то вроде этого:
C++ (Qt)
class MyClass: public QGraphicsItem
{
public:
virtual QRectF boundingRect() const
{
return QRectF(0,0, 60, 60);
}
virtual void paint(QPainter * painter, const QStyleOptionGraphicsItem * option, QWidget * widget = 0)
{
painter->setPen(QPen(Qt::black));
painter->setBrush(QBrush(Qt::green));
if( left_mouse_pressed_ )
{
painter->drawLine(0,0,300,300);
left_mouse_pressed_ = false;
} else
{
painter->drawRect(QRectF(0, 0, 60, 60));
}
}
virtual void mousePressEvent(QGraphicsSceneMouseEvent* pe)
{
if(pe->buttons() & Qt::LeftButton)
{
// И хочу сюда добавить рисование что нибудь типа
// painter->drawLine(0,0,300,300);
//КАК ЭТО СДЕЛАТЬ???
QGraphicsItem::update( 0,0,300,300 );
left_mouse_pressed_ = true;
}
}
private:
bool left_mouse_pressed_;
};