Доброго времени суток.
На сцену нужно вывести порядка двадцати графиков функций, каждый график представляет собой "достаточно ломанную кривую" которые могут пересекаться друг с другом, есть необходимость перемещать графики по сцене, как организовать правильное выделение каждого графика?
QRectF Grafik::boundingRect() const
{
return QRectF(0, 0, my_model->rowCount()+10, size_y);
}
QPainterPath Grafik::shape() const
{
QPainterPath path;
path.addRect(1, 1, size_x, size_y);
return path;
}
void Grafik::paint(QPainter *painter, const QStyleOptionGraphicsItem *option, QWidget *widget)
{
Q_UNUSED(widget);
QColor fillColor = (option->state & QStyle::State_Selected) ? color.dark(150) : color;
if (option->state & QStyle::State_MouseOver)
fillColor = fillColor.light(125);
const qreal lod = option->levelOfDetailFromTransform(painter->worldTransform());
QVarLengthArray<QPointF> pointsss;
QList<double> x;
for (int i = 0; i <= size_x-1; i++)
{
x.append(my_model->item(i, stolbec)->text().toFloat());
pointsss.append(QPointF(i,x[i]));
}
QGraphicsItem *item = new Grafik(model, Qt::red, 3, min, max);
item->setPos(QPointF(0, 200));
item->setFlag(QGraphicsItem::ItemIsMovable, true);
Форум Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)