Krolick
@Krolick
...не только ценный мех!

QGraphicsScene: почему размер увеличивается вдвое, когда элемент подтаскиваешь к границе?

Есть у меня, братцы, 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_())


Имею спросить: а как бы мне это забороть?
  • Вопрос задан
  • 335 просмотров
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы