def SetModuleWidget(self, x, y, WindowModule): Widget = QGraphicsProxyWidget() Widget.setWidget(WindowModule) Widget.setWindowFlags(Qt.Window) Widget.setPos(x, y) Widget.setFlag(PySide2.QtWidgets.QGraphicsItem.ItemIsMovable, True) Widget.setFlag(PySide2.QtWidgets.QGraphicsItem.ItemIsSelectable, True) self.GraphicsSceneCont.addItem(Widget)
def createItem(minimum, preferred, maximum, name): w = QGraphicsProxyWidget() w.setWidget(QPushButton(name)) w.setMinimumSize(minimum) w.setPreferredSize(preferred) w.setMaximumSize(maximum) w.setSizePolicy(QSizePolicy.Preferred, QSizePolicy.Preferred) return w
def testQGraphicsProxyWidget(self): scene = QGraphicsScene() proxy = QGraphicsProxyWidget(None, Qt.Window) widget = QLabel('Widget') proxy.setWidget(widget) proxy.setCacheMode(QGraphicsItem.DeviceCoordinateCache) scene.addItem(proxy) scene.setSceneRect(scene.itemsBoundingRect()) view = QGraphicsView(scene) view.setRenderHints(QPainter.Antialiasing|QPainter.SmoothPixmapTransform) view.setViewportUpdateMode(QGraphicsView.BoundingRectViewportUpdate) view.show() timer = QTimer.singleShot(100, self.app.quit) self.app.exec_()