On 21 February 2016 at 00:39, Ch'Gans <chg...@gna.org> wrote:
> Hi There,
>
> I have sub-classed a QGraphicsView to add some custom rulers on the
> top and on the left.
> For this I've followed the principle used here [1], basically what's
> done there is:
> - set a QGridLayout to the QGV
> - Add an horizontal ruler at top and left
> - set QGV's viewPort as the "central widget"
> - set QGV's ViewPortMargin (23 pixels, which is the space needed by my rulers

Actually, everything works as expected if I use something like:

void MyView::updateRulerCursorRanges()
{
    QPointF topLeft = mapToScene(QPoint(0, 0));
    QPointF bottomRight = mapToScene(QPoint(viewport()->width(),
viewport()->height()));
    m_horizontalRuler->setCursorRange(topLeft.x(), bottomRight.x());
    m_verticalRuler->setCursorRange(topLeft.y(), bottomRight.y());
}

void MyView::updateRulerCursorPositions()
{
    QPointF pos = mapToScene(viewport()->mapFromGlobal(QCursor::pos()));
    m_horizontalRuler->setCursorPosition(pos);
    m_verticalRuler->setCursorPosition(pos);
}

Chris

>
> Chris
>
> [1] 
> https://kernelcoder.wordpress.com/2010/08/25/how-to-insert-ruler-scale-type-widget-into-a-qabstractscrollarea-type-widget/
_______________________________________________
Interest mailing list
Interest@qt-project.org
http://lists.qt-project.org/mailman/listinfo/interest

Reply via email to