{
pos=e->scenePos();
end=e->scenePos();
item = new EllipseItem(pos.x(), pos.y(),10,10);
item2 = new EllipseItem(end.x(), end.y(),10,10);
if(e->button() == Qt::LeftButton)
{
if(itemAt(pos))
else
{addItem(item);
linie = new LineItem(item,item2);
QObject::connect(item,
SIGNAL(positionchanged
()), linie ,
SLOT(updatePosition
()));
QObject::connect(item2,
SIGNAL(positionchanged
()), linie ,
SLOT(updatePosition
()));
addItem(linie);
}
}
if(e->button() == Qt::RightButton)
{
if(itemAt(pos))
{
linie = new LineItem(item,item2);
QObject::connect(item,
SIGNAL(positionchanged
()), linie ,
SLOT(updatePosition
()));
QObject::connect(item2,
SIGNAL(positionchanged
()), linie ,
SLOT(updatePosition
()));
addItem(linie);
}
else
}
}
{
if((e->buttons()==Qt::LeftButton) || (e->buttons()==Qt::RightButton))
{item2->setPos(e->scenePos());
item2->update();
linie->updatePosition();
linie->update();
}
}
void GraphicsScene::mousePressEvent(QGraphicsSceneMouseEvent *e)
{
pos=e->scenePos();
end=e->scenePos();
item = new EllipseItem(pos.x(), pos.y(),10,10);
item2 = new EllipseItem(end.x(), end.y(),10,10);
item->setFlags(QGraphicsItem::ItemIsMovable);
item2->setFlags(QGraphicsItem::ItemIsMovable);
if(e->button() == Qt::LeftButton)
{
if(itemAt(pos))
{QGraphicsScene::mousePressEvent(e); }
else
{addItem(item);
linie = new LineItem(item,item2);
QObject::connect(item, SIGNAL(positionchanged()), linie , SLOT(updatePosition()));
QObject::connect(item2, SIGNAL(positionchanged()), linie , SLOT(updatePosition()));
addItem(linie);
}
}
if(e->button() == Qt::RightButton)
{
if(itemAt(pos))
{
linie = new LineItem(item,item2);
QObject::connect(item, SIGNAL(positionchanged()), linie , SLOT(updatePosition()));
QObject::connect(item2, SIGNAL(positionchanged()), linie , SLOT(updatePosition()));
addItem(linie);
}
else
{ QGraphicsScene::mousePressEvent(e); }
}
}
void GraphicsScene::mouseMoveEvent(QGraphicsSceneMouseEvent *e)
{
if((e->buttons()==Qt::LeftButton) || (e->buttons()==Qt::RightButton))
{item2->setPos(e->scenePos());
item2->update();
linie->updatePosition();
linie->update();
}
QGraphicsScene::mouseMoveEvent(e);
}
To copy to clipboard, switch view to plain text mode
Bookmarks