得到QGraphicsScene的大小

时间:2017-03-15 06:49:23

标签: qt pyqt

我想做以下事情:

  1. 创建QGraphicsView
  2. 将其连接到QGraphicsScene
  3. 获取QGraphicsScene的大小
  4. 使用此尺寸
  5. 创建QGraphicsRectItem

    我的问题是如何获得场景的大小 在所有的例子中,我看到他们将常量放在setSceneRect()中 以下是我的代码

    class CharIdentifierInput(QDialog, Ui_CharIdentifierInput):
        """description of class"""
        def __init__(self, parent):
            QDialog.__init__(self, parent)
            self.setupUi(self)
            self.setFixedSize(self.width(), self.height()) 
            self.leftMouseButtonPressed = False
            self.createGui()
    
        def createGui(self):
            self.graphicsScene = QGraphicsScene()
            self.graphicsView.setScene(self.graphicsScene)
    
            # I want to replace this line with a line that sets to the actual scene size
            self.graphicsScene.setSceneRect(0,0,368,235)
            mainItem = MyQtCharIdentifierMain(self.graphicsScene.sceneRect())
            self.graphicsScene.addItem(mainItem)
            mainItem.setPos(0,0)
    

1 个答案:

答案 0 :(得分:1)

sceneRect尺寸的吸气剂是 QGraphicsScene.sceneRect()QGraphicsScene.width()QGraphicsScene.height()

如果sceneRect发生更改,则会发出QGraphicsScene.sceneRectChanged -signal,将新的sceneRect作为参数发送。

如果未设置QGraphicsView.setSceneRect()QGraphicsView.sceneRect()将会{。}} 返回与QGraphicsScene.sceneRect()相同的值,并随QGraphicsScene.sceneRect()更改,请参阅documentation QGraphicsViewdocumentation QGraphicsScene