Как нарисовать внутри qtcharview? - PullRequest
2 голосов
/ 19 октября 2019

Мне удалось нарисовать некоторые линии поверх qchartview, если окно не изменено, это приемлемо. Однако, когда я изменяю размер, линия не масштабируется, как показано ниже.

enter image description here

Как нарисовать вертикальную линию, чтобы она ограничивалась текущим прямоугольником окна и настраивалась при изменении размера окна?

void ChartView::mousePressEvent(QMouseEvent *event)
    {
        if (m_isTouching)
            return;

        if( event->modifiers() & Qt::ShiftModifier )
        {

            qreal xVal = chart()->mapToValue(event->pos()).x();
            qreal yVal = chart()->mapToValue(event->pos()).y();


            QGraphicsLineItem* linex = this->scene()->addLine(0+xVal,50,0+xVal,500);
                line.push_back(linex);
                line.back()->setFlag(QGraphicsItem::ItemIsMovable);
        }

        if( event->modifiers() & Qt::ControlModifier)
        {
            for(auto& item : line)
            {
                if(this->scene() != NULL )
                {
                    this->scene()->removeItem(item);
                }
            }
        }

        QChartView::mousePressEvent(event);

    }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...