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