Ejemplo n.º 1
0
    def __init__(self, scenes, grid_description=None, parent=None):
        """
        Create a view widget with a list of scenes and associated grid description.

        :param scenes: A list of scenes.
        :param grid_description: A dictionary describing the grid layout of the widgets. (Not currently used.)
        :param parent: Parent widget
        """
        super(ViewWidget, self).__init__(parent)
        layout = QtWidgets.QGridLayout()
        self.setLayout(layout)

        self._sceneviewers = []
        self._ready_state = []
        self._initial_state = []
        self._active_sceneviewer = None

        for index, scene in enumerate(scenes):
            s = SceneviewerWidget(self)
            s.graphicsInitialized.connect(self._graphics_initialised)
            s.becameActive.connect(self._active_view_changed)
            self._sceneviewers.append(s)
            self._ready_state.append(False)
            s.setFocusPolicy(QtCore.Qt.StrongFocus)
            row = scene.get("Row", 0)
            col = scene.get("Col", 0)
            self._initial_state.append(scene.get("Sceneviewer", {}))
            layout.addWidget(s, row, col)
Ejemplo n.º 2
0
def create_view(zinc_context, scenes, specification=None):
    widget = QtWidgets.QWidget()
    layout = QtWidgets.QGridLayout()
    widget.setLayout(layout)

    for scene in scenes:
        s = SceneviewerWidget(widget)
        s.setContext(zinc_context)
        s.setFocusPolicy(QtCore.Qt.StrongFocus)
        row = scene.get("Row", 0)
        col = scene.get("Col", 0)
        layout.addWidget(s, row, col)

    return widget