コード例 #1
0
    def _init_widgets(self):

        main = QMainWindow()
        main.setWindowFlags(Qt.Widget)

        # main.setCorner(Qt.TopLeftCorner, Qt.TopDockWidgetArea)
        # main.setCorner(Qt.TopRightCorner, Qt.RightDockWidgetArea)

        pathtree = QPathTree(self, self.workspace, parent=main)
        pathtree_dock = QDockWidget('PathTree', pathtree)
        main.setCentralWidget(pathtree_dock)
        # main.addDockWidget(Qt.BottomDockWidgetArea, pathtree_dock)
        pathtree_dock.setWidget(pathtree)

        simgrs_logic = self.workspace.instance.simgrs if self.workspace.instance is not None else None
        simgrs = QSimulationManagers(simgrs_logic, main)
        pathgroups_dock = QDockWidget('SimulationManagers', simgrs)
        main.addDockWidget(Qt.RightDockWidgetArea, pathgroups_dock)
        pathgroups_dock.setWidget(simgrs)

        reg_viewer = QRegisterViewer(self)
        reg_viewer_dock = QDockWidget('Register Viewer', reg_viewer)
        main.addDockWidget(Qt.RightDockWidgetArea, reg_viewer_dock)
        reg_viewer_dock.setWidget(reg_viewer)

        mem_viewer = QMemoryViewer(self)
        mem_viewer_dock = QDockWidget('Memory Viewer', mem_viewer)
        main.addDockWidget(Qt.RightDockWidgetArea, mem_viewer_dock)
        mem_viewer_dock.setWidget(mem_viewer)

        vextemps_viewer = QVEXTempsViewer(self)
        vextemps_viewer_dock = QDockWidget('VEX Temps Viewer', vextemps_viewer)
        main.addDockWidget(Qt.RightDockWidgetArea, vextemps_viewer_dock)
        vextemps_viewer_dock.setWidget(vextemps_viewer)

        main.tabifyDockWidget(reg_viewer_dock, mem_viewer_dock)
        main.tabifyDockWidget(mem_viewer_dock, vextemps_viewer_dock)
        reg_viewer_dock.raise_()

        self._pathtree = pathtree
        self._simgrs = simgrs
        self._register_viewer = reg_viewer
        self._memory_viewer = mem_viewer
        self._vextemps_viewer = vextemps_viewer

        main_layout = QHBoxLayout()
        main_layout.addWidget(main)
        main_layout.setContentsMargins(0, 0, 0, 0)

        self.setLayout(main_layout)