Есть у меня, братцы, QGraphicsScene с несколькими объектами на ней. И когда я таскаю их мышкой, то при достижении левого края экрана сцена не просто увеличивается в размерах (что правильно), но увеличивается чертовски сильно (едва ли не вдвое) и скачкообразно (что не есть хорошо).
Вот небольшая демка (там надо перетащить один из квадратиков к левому краю экрана).
import sys
from PyQt5 import QtWidgets, QtGui, QtCore
from PyQt5.QtWidgets import QGraphicsItem, QGraphicsTextItem, QGraphicsRectItem
if __name__ == "__main__":
#########################################
sys._excepthook = sys.excepthook
def exception_hook(exctype, value, traceback):
sys._excepthook(exctype, value, traceback)
sys.exit(1)
sys.excepthook = exception_hook
##########################################
app = QtWidgets.QApplication(sys.argv)
view = QtWidgets.QGraphicsView()
view.setRenderHint(QtGui.QPainter.Antialiasing)
view.setMouseTracking(True)
view.setDragMode(QtWidgets.QGraphicsView.RubberBandDrag)
scene = QtWidgets.QGraphicsScene()
rect_item = QGraphicsRectItem(-50, -50, 100, 100)
rect_item.setFlags(QGraphicsItem.ItemIsSelectable | QGraphicsItem.ItemIsFocusable | QGraphicsItem.ItemIsMovable)
scene.addItem(rect_item)
rect_item2 = QGraphicsRectItem(-50, -50, 100, 100)
rect_item2.setFlags(QGraphicsItem.ItemIsSelectable | QGraphicsItem.ItemIsFocusable | QGraphicsItem.ItemIsMovable)
scene.addItem(rect_item2)
rect_item2.setPos(-120, -120)
view.setScene(scene)
view.showMaximized()
sys.exit(app.exec_())
Имею спросить: а как бы мне это забороть?