Ejemplo n.º 1
0
    def _layout(self):
        # make the sweep dock widget
        base_dock = QtGui.QWidget(self)
        base_inputs_vbox = QtGui.QVBoxLayout()
        base_inputs_vbox.addWidget(self.base_inputs_widget)
        base_inputs_vbox.addStretch(0)
        base_dock.setLayout(base_inputs_vbox)
        # add the dock widget to the left
        base_inputs_dock = QtGui.QDockWidget('Sweeps')
        base_inputs_dock.setWidget(base_dock)
        features = base_inputs_dock.features()
        base_inputs_dock.setFeatures(features
                                     & ~QtGui.QDockWidget.DockWidgetClosable)
        self.addDockWidget(QtCore.Qt.LeftDockWidgetArea, base_inputs_dock)

        super()._layout()
Ejemplo n.º 2
0
    def _layout(self):
        self.main = QtGui.QWidget(self)

        inputs_dock = QtGui.QWidget(self)
        inputs_vbox = QtGui.QVBoxLayout(self.main)

        hbox = QtGui.QHBoxLayout()
        hbox.setSpacing(10)
        hbox.setContentsMargins(-1, 6, -1, 6)
        hbox.addWidget(self.queue_button)
        hbox.addWidget(self.abort_button)
        hbox.addWidget(self.stop_button)
        hbox.addStretch()

        inputs_vbox.addWidget(self.inputs)
        inputs_vbox.addLayout(hbox)
        inputs_vbox.addStretch()
        inputs_dock.setLayout(inputs_vbox)

        dock = QtGui.QDockWidget('Input Parameters')
        dock.setWidget(inputs_dock)
        dock.setFeatures(QtGui.QDockWidget.NoDockWidgetFeatures)
        self.addDockWidget(QtCore.Qt.LeftDockWidgetArea, dock)

        tabs = QtGui.QTabWidget(self.main)
        tabs.addTab(self.plot_widget, "Results Graph")
        tabs.addTab(self.log_widget, "Experiment Log")

        splitter = QtGui.QSplitter(QtCore.Qt.Vertical)
        splitter.addWidget(tabs)
        splitter.addWidget(self.browser_widget)
        self.plot_widget.setMinimumSize(100, 200)

        vbox = QtGui.QVBoxLayout(self.main)
        vbox.setSpacing(0)
        vbox.addWidget(splitter)

        self.main.setLayout(vbox)
        self.setCentralWidget(self.main)
        self.main.show()
        self.resize(1000, 800)
Ejemplo n.º 3
0
    def _layout(self):
        # main window widget
        self.main = QtGui.QWidget(self)

        # make the parameters dock widget
        inputs_dock = QtGui.QWidget(self)
        inputs_vbox = QtGui.QVBoxLayout()
        inputs_vbox.addWidget(self.inputs)
        hbox = QtGui.QHBoxLayout()
        hbox.setContentsMargins(-1, 6, -1, 6)
        hbox.addStretch()
        hbox.addWidget(self.queue_button)
        hbox.addStretch()
        hbox.addWidget(self.abort_button)
        hbox.addStretch()
        hbox.addWidget(self.abort_all_button)
        hbox.addStretch()
        inputs_vbox.addLayout(hbox)
        inputs_vbox.addStretch()
        inputs_dock.setLayout(inputs_vbox)
        # add the dock to the right
        dock = QtGui.QDockWidget('Parameters')
        dock.setWidget(inputs_dock)
        features = dock.features()
        dock.setFeatures(features & ~QtGui.QDockWidget.DockWidgetClosable)
        self.addDockWidget(QtCore.Qt.RightDockWidgetArea, dock)

        # make indicators dock widget on the left
        if self.indicators.inputs or self.persistent_indicators:
            indicator_dock = QtGui.QWidget(self)
            indicator_vbox = QtGui.QVBoxLayout()
            if self.indicators.inputs:
                indicator_vbox.addWidget(self.indicators)
            for indicator in self.persistent_indicators:
                indicator_vbox.addWidget(indicator)
            indicator_vbox.addStretch()
            indicator_dock.setLayout(indicator_vbox)
            indicator_dock_widget = QtGui.QDockWidget('Indicators')
            indicator_dock_widget.setWidget(indicator_dock)
            features = indicator_dock_widget.features()
            indicator_dock_widget.setFeatures(
                features & ~QtGui.QDockWidget.DockWidgetClosable)
            self.addDockWidget(QtCore.Qt.LeftDockWidgetArea,
                               indicator_dock_widget)

        # make the browser dock widget
        browser_dock = QtGui.QWidget(self)
        browser_vbox = QtGui.QVBoxLayout()
        browser_vbox.addWidget(self.browser_widget)
        browser_dock.setLayout(browser_vbox)
        # add the dock to the bottom
        browser_dock_widget = QtGui.QDockWidget('Browser')
        browser_dock_widget.setWidget(browser_dock)
        features = browser_dock_widget.features()
        browser_dock_widget.setFeatures(
            features & ~QtGui.QDockWidget.DockWidgetClosable)
        self.addDockWidget(QtCore.Qt.BottomDockWidgetArea, browser_dock_widget)

        # make the plot tabs
        tabs = QtGui.QTabWidget(self.main)
        for index, plot_widget in enumerate(self.plot_widget):
            tabs.addTab(plot_widget, self.plot_names[index])
        tabs.addTab(self.log_widget, "Log")
        self.plot_widget[0].setMinimumSize(100, 200)
        # add the tabs as the main window layout
        vbox = QtGui.QVBoxLayout(self.main)
        vbox.setSpacing(0)
        vbox.addWidget(tabs)
        self.main.setLayout(vbox)

        # set the central widget and show
        self.setCentralWidget(self.main)
        self.main.show()
        self.resize(1400, 1000)