Пытаюсь понять, как можно сделать перетаскивание сцены с помощью мышки. Пока даже в таком простейшем примере получаются тормоза (особенно после разворачивания окна на весь экран):
C++ (Qt)
#include <QApplication>
#include <QGraphicsView>
#include <QGraphicsScene>
int main(int argc, char *argv[]) {
QApplication app(argc, argv);
QGraphicsScene *scene = new QGraphicsScene();
QPen pen(Qt::black, 2.0);
scene->addRect(0, 0, 400, 300, pen);
scene->addEllipse(10, 10, 380, 280, pen);
scene->addLine(0, 0, 400, 300, pen);
scene->addLine(400, 0, 0, 300, pen);
QGraphicsView *view = new QGraphicsView();
view->setDragMode(QGraphicsView::ScrollHandDrag);
view->setRenderHint(QPainter::Antialiasing, true);
view->setSceneRect(-1000, -1000, 2000, 2000);
view->setScene(scene);
view->scale(3, 3);
view->show();
return app.exec();
}
Что я делаю не так?
Кстати, точно такая же проблема у меня получается если в примере 40000 chips выставить режим ScrollHandDrag.