def __init__(self, parent=None): super().__init__(parent) matplot_widget = FigureCanvas(Figure()) self._ax = matplot_widget.figure.subplots() self._scene = QGraphicsScene() self.matplot_graphics_widget = self._scene.addWidget(matplot_widget) self.matplot_graphics_widget.setParent(self) self.red_brush = QBrush(Qt.SolidPattern) self.red_brush.setColor(QColor(255, 0, 0, 50)) self.pen = QPen() self.pen.setColor(QColor(0, 0, 0, 0)) self._scene.addEllipse(0, self.height()/2, self.height()/2, self.height(), QPen(Qt.NoPen), self.red_brush) self._view = QGraphicsView(self._scene) self._view.setGeometry(250, 250, 500, 500) layout = QVBoxLayout() layout.setContentsMargins(0, 0, 0, 0) layout.addWidget(self._view) self.setLayout(layout) id = QGestureRecognizer.registerRecognizer(PanGestureRecognizer()) self.grabGesture(id)
def initWindow(self): self.setGeometry(40, 40, 800, 640) self.setWindowTitle('Tower Defense') #self.setFixedSize(self.size()) self.show() self.showFullScreen() # Add a scene for drawing 2d objects self.scene = QGraphicsScene(self) self.scene.setSceneRect(0, 0, 640, 640) # Add a view for showing the scene self.view = QGraphicsView(self.scene, self) self.view.show() self.view.setAlignment(QtCore.Qt.AlignTop | QtCore.Qt.AlignLeft) self.view.adjustSize() self.horizontal.addWidget(self.view)