1

我有一个要显示的大型 QGraphicsScene,目前由 QGraphicsView 完成。在本地使用时一切都很好,但是一旦我将应用程序与 ssh -X 一起使用,它就非常慢。当然,总是需要传输一些数据,但是如果没有任何变化,例如仅平移图像时,如何节省带宽?

这是我的 QGraphicsView:

#include "graphicsview.h"
#include <QGraphicsPixmapItem>
#include <QPixmap>
#include <QDebug>
#include <QMouseEvent>
#include <QWheelEvent>
#include <cmath>
#include <QPixmapCache>

GraphicsView::GraphicsView(QWidget *parent) :
    QGraphicsView(parent)
{
    QPixmapCache::setCacheLimit(16777216); //did not do the trick either
    this->setMouseTracking(true);
    setTransformationAnchor(AnchorUnderMouse);
    this->setDragMode(QGraphicsView::ScrollHandDrag);
    scene = new QGraphicsScene(this);
    setScene(scene);
    background = QPixmap(8000,8000);
    qDebug() << background.rect();
    scene->setSceneRect(background.rect());
    scene->setBackgroundBrush(QBrush(background));
    show();
}

void GraphicsView::wheelEvent(QWheelEvent* event) {
    scale(pow(2,event->delta()/240.0), pow(2,event->delta()/240.0));
}
4

0 回答 0