Почему у QGraphicsPixmapItem существует смещение при использовании функции fitInView ()? - PullRequest
0 голосов
/ 12 апреля 2019

Я использую функцию fitInView () для просмотра пикселей изображения, но пиксели изображения существуют со смещением, как решить эту проблему?

void QtGraphicsView::setViewRect(const QRectF &rect)
{
    if (m_viewRect == rect)
        return;

    m_viewRect = rect;
    fitInView(rect);
}

void QtGraphicsView::scaleView(qreal factor)
{
    const QSizeF &size = m_viewRect.size() / factor;
    if (size.width() <= 0 || size.height() <= 0
            || size.width() >= sceneRect().width()
            || size.height() >= sceneRect().height())
        return;

    const QSizeF &dsize = m_viewRect.size() - size;
    const QPointF &topLeft = m_viewRect.topLeft()
            + QPointF(dsize.width() / 2, dsize.height() / 2);
    setViewRect(QRectF(topLeft, size).toRect());
}

enter image description here

...