将项目拖动到其左边框时,QGraphicsScene大小会增加太多

时间:2017-04-20 11:34:10

标签: qt pyqt hotkeys qgraphicsview qgraphicsscene

我有一个QGraphicsScene,上面有几个可移动的项目。当我将一个项目拖动到场景边框时,场景的大小会增加(没关系,它会增加),并且会出现滚动条(也没关系)。

但即使移动项目超出窗口边框几个像素,场景大小也会一次增加大约两倍。

这是一个小型演示(原谅我的PyQt):

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_())

您应该将方块拖到左边框,当项目到达窗口边框时,大小会增加两倍。

你不能告诉我,我该如何解决?

0 个答案:

没有答案