Пример #1
0
    def __init__(self):
        QtWidgets.QMainWindow.__init__(self, parent=None)
        BasePlotWidget.__init__(self)
        self.setWindowTitle('Beeswarm Plot')

        self.central_widget = CentralWidget(self)
        self.status_label = self.central_widget.status_label

        self.exception_holder = None

        self.control_widget = ControlDock(self)
        self.addDockWidget(QtCore.Qt.LeftDockWidgetArea, self.control_widget)
        # self.control_widget.sig_changed.connect(self.update_plot)

        # Update only when button is clicked since these plots can take a while to draw.
        self.control_widget.ui.pushButtonUpdatePlot.clicked.connect(self.update_plot)
        self.control_widget.ui.checkBoxLiveUpdateFromFlowchart.toggled.connect(self.set_update_live)

        self.block_signals_list = [self.control_widget]

        self.transmision_withhold = None

        self.live_datapoint_tracer = DatapointTracerWidget()
        self.dockDatapointTracer = QtWidgets.QDockWidget(self)
        self.dockDatapointTracer.setWindowTitle('Datapoint Tracer')
        self.dockDatapointTracer.setFeatures(QtWidgets.QDockWidget.DockWidgetFloatable | QtWidgets.QDockWidget.DockWidgetMovable)
        self.dockDatapointTracer.setWidget(self.live_datapoint_tracer)
        self.addDockWidget(QtCore.Qt.RightDockWidgetArea, self.dockDatapointTracer)

        cmd_history_file = os.path.join(console_history_path, 'beeswarm_plot.pik')
Пример #2
0
    def setupLogging(self):
        self.logger = logging_getLogger()
        self.logger.setLevel(DEBUG)
        self.logger.debug("started logging to stdout")

        self.ui.logging = QtWidgets.QTextEdit()
        self.ui.logging.setReadOnly(True)
        self.ui.logging.setContextMenuPolicy(QtCore.Qt.CustomContextMenu)
        self.ui.logging.customContextMenuRequested.connect(
            lambda x: logging_LogContextMenu(self.ui.logging, x))

        self.ui.loggingDock = QtWidgets.QDockWidget(self)
        self.ui.loggingDock.hide()
        self.ui.loggingDock.setWidget(self.ui.logging)
        self.ui.loggingDock.setFloating(True)
        self.ui.loggingDock.resize(800, 200)
        self.ui.loggingDock.setWindowTitle("DEADBEEF log")
        self.ui.actionToggle_log.triggered.connect(
            lambda: self.ui.loggingDock.setVisible(self.ui.loggingDock.
                                                   isHidden()))

        logging_log2statusbar(self.ui.statusBar, self.logger, self.logger._fmt)
        logging_log2TextEdit(self.ui.logging, self.logger, self.logger._fmt)
        logging_log2Textfile(self.cfg["logfile"], self.logger,
                             self.logger._fmt)
Пример #3
0
    def subcircuiteditor(self):
        """This function creates a widget for different subcircuit options."""
        global count
        self.subcktWidget = QtWidgets.QWidget()
        self.subcktLayout = QtWidgets.QVBoxLayout()
        self.subcktLayout.addWidget(Subcircuit(self))

        self.subcktWidget.setLayout(self.subcktLayout)
        dock['Subcircuit-' +
             str(count)] = QtWidgets.QDockWidget('Subcircuit-' + str(count))
        dock['Subcircuit-' + str(count)].setWidget(self.subcktWidget)
        self.addDockWidget(QtCore.Qt.TopDockWidgetArea,
                           dock['Subcircuit-' + str(count)])
        self.tabifyDockWidget(dock['Welcome'],
                              dock['Subcircuit-' + str(count)])

        # CSS
        dock['Subcircuit-' + str(count)].setStyleSheet(" \
        .QWidget { border-radius: 15px; border: 1px solid gray;\
            padding: 5px; width: 200px; height: 150px;  } \
        ")

        dock['Subcircuit-' + str(count)].setVisible(True)
        dock['Subcircuit-' + str(count)].setFocus()
        dock['Subcircuit-' + str(count)].raise_()

        count = count + 1
Пример #4
0
    def setupOutlineBox(self):
        self.CPPFunctionOutline_DockW = QtWidgets.QDockWidget()
        self.CPPFunctionOutline_DockW.setWindowTitle("Outline")

        self.CPPFunctionOutline = OutlineTreeWidget()
        self.CPPFunctionOutline.currentItemChanged.connect(
            self.outlineItemChanged)
        self.CPPFunctionOutline.setHeaderHidden(True)
        self.CPPFunctionOutline.setMaximumWidth(300)

        self.rootOutlineItem = QtWidgets.QTreeWidgetItem()
        self.rootOutlineItem.setText(0, "assembleNextTestSprite")
        self.CPPFunctionOutline.addTopLevelItem(self.rootOutlineItem)

        for category in self.currentCPPClass.functions:
            newCategoryItem = OutlineTreeWidgetItem_Category()
            newCategoryItem.setText(0, category["categoryName"])
            self.rootOutlineItem.addChild(newCategoryItem)

            for func in category["categoryFuncs"]:
                newFuncItem = OutlineTreeWidgetItem_Func(func=func)
                newFuncItem.setText(0, func.title)
                newCategoryItem.addChild(newFuncItem)

        self.CPPFunctionOutline_DockW.setWidget(self.CPPFunctionOutline)
        self.addDockWidget(Qt.LeftDockWidgetArea,
                           self.CPPFunctionOutline_DockW)

        return
Пример #5
0
    def initToolProperties(self):
        self.toolProperties = QtWidgets.QDockWidget(self)
        self.toolProperties.setObjectName("toolProperties")

        self.properties = QtWidgets.QWidget()
        self.properties.setObjectName("properties")

        self.properties_form = QtWidgets.QFormLayout(self.properties)

        self.thickness_slider = QtWidgets.QSlider(self)
        self.thickness_slider.setOrientation(QtCore.Qt.Horizontal)
        self.thickness_slider.setMinimum(1)
        self.thickness_slider.setMaximum(50)
        self.thickness_slider.valueChanged.connect(self.set_thickness)
        self.properties_form.addRow('Thickness', self.thickness_slider)

        self.fill_btn = QtWidgets.QPushButton(self.properties)
        self.fill_btn.setMaximumSize(20, 20)
        self.fill_btn.setMinimumSize(20, 20)
        self.fill_btn.clicked.connect(self.set_fill)
        self.fill_btn.setStyleSheet('background-color: #FFFFFF')
        self.properties_form.addRow('Fill color', self.fill_btn)

        self.fill_alpha_slider = QtWidgets.QSlider(self.properties)
        self.fill_alpha_slider.setOrientation(QtCore.Qt.Horizontal)
        self.fill_alpha_slider.setMaximum(255)
        self.fill_alpha_slider.setMinimum(0)
        self.fill_alpha_slider.setValue(255)
        self.fill_alpha_slider.valueChanged.connect(self.set_fill_alpha)
        self.properties_form.addRow('Fill alpha', self.fill_alpha_slider)

        self.toolProperties.setWidget(self.properties)
        MainWindow.addDockWidget(self, QtCore.Qt.DockWidgetArea(1),
                                 self.toolProperties)
Пример #6
0
    def createDockWidgets(self):

        # Palette widget
        self.palette = QtWidgets.QDockWidget(
            self.context.getText("dock_widgets", "palette"), self)
        self.palette.setAllowedAreas(Qt.RightDockWidgetArea)
        self.palette.setFeatures(QtWidgets.QDockWidget.NoDockWidgetFeatures)

        paletteWidget = Palette(self.context, self.signals)

        self.palette.setWidget(paletteWidget)
        self.palette.setSizePolicy(QtWidgets.QSizePolicy.Preferred,
                                   QtWidgets.QSizePolicy.Minimum)

        self.addDockWidget(Qt.RightDockWidgetArea, self.palette)

        # Tool Properties widget
        self.toolProperties = ToolProperties(
            self.context.getText("dock_widgets", "tool_properties"),
            self.context, self.signals)
        self.addDockWidget(Qt.RightDockWidgetArea, self.toolProperties)
        self.toolProperties.setSizePolicy(QtWidgets.QSizePolicy.Preferred,
                                          QtWidgets.QSizePolicy.Expanding)

        # Preview
        self.preview = Preview(self.context.getText("dock_widgets", "preview"),
                               self.context, self.signals, self)
        self.addDockWidget(Qt.RightDockWidgetArea, self.preview)
Пример #7
0
    def setupUi(self, MainWindow, config):
        testForm.setupUi(self, MainWindow)
        self.config = config
        self.plottedTrace = None
        self._graphicsView = self.graphicsLayout._graphicsView
        self.penicons = pens.penicons().penicons()
        self.traceui = Traceui(self.penicons, self.config, "testExperiment", { "Plot Window": {'view': self._graphicsView}})
        self.traceui.setupUi(self.traceui)
        self.dockWidget.setWidget( self.traceui )
        self.dockWidgetList.append(self.dockWidget)
        self.fitWidget = FitUi(self.traceui, self.config, "testExperiment", globalDict = self.globalVariablesUi.variables )
        self.fitWidget.setupUi(self.fitWidget)
        self.dockWidgetFitUi.setWidget( self.fitWidget )
        self.dockWidgetList.append(self.dockWidgetFitUi )
        self.displayUi = AverageViewTable(self.config)
        self.displayUi.setupUi()
        self.displayDock = QtWidgets.QDockWidget("Average")
        self.displayDock.setObjectName("Average")
        self.displayDock.setWidget( self.displayUi )
        self.addDockWidget(QtCore.Qt.RightDockWidgetArea, self.displayDock)
        self.dockWidgetList.append(self.displayDock )
        if 'testWidget.MainWindow.State' in self.config:
            QtWidgets.QMainWindow.restoreState(self, self.config['testWidget.MainWindow.State'])
#start added
        self.scanControlWidget = ScanControl(config, self.globalVariablesUi, self.experimentName)
        self.scanControlWidget.setupUi(self.scanControlWidget)
        self.scanControlUi.setWidget(self.scanControlWidget )
        self.dockWidgetList.append(self.scanControlUi)
#end added
        self.tabifyDockWidget( self.dockWidgetFitUi, self.scanControlUi )
Пример #8
0
    def modelEditor(self):
        """This function defines UI for model editor."""
        print("in model editor")
        global count
        self.modelwidget = QtWidgets.QWidget()

        self.modellayout = QtWidgets.QVBoxLayout()
        self.modellayout.addWidget(ModelEditorclass())

        # Adding to main Layout
        self.modelwidget.setLayout(self.modellayout)

        dock['Model Editor-' +
             str(count)] = QtWidgets.QDockWidget('Model Editor-' + str(count))
        dock['Model Editor-' + str(count)].setWidget(self.modelwidget)
        self.addDockWidget(QtCore.Qt.TopDockWidgetArea,
                           dock['Model Editor-' + str(count)])
        self.tabifyDockWidget(dock['Welcome'],
                              dock['Model Editor-' + str(count)])

        # CSS
        dock['Model Editor-' + str(count)].setStyleSheet(" \
            .QWidget { border-radius: 15px; border: 1px solid gray; \
                padding: 5px; width: 200px; height: 150px;  } \
            ")

        dock['Model Editor-' + str(count)].setVisible(True)
        dock['Model Editor-' + str(count)].setFocus()
        dock['Model Editor-' + str(count)].raise_()

        count = count + 1
Пример #9
0
    def create_dock(self):

        self.dockWidget = QtWidgets.QDockWidget()
        self.dockWidget.setFeatures(QtWidgets.QDockWidget.NoDockWidgetFeatures)
        self.dockWidgetContents = QtWidgets.QWidget()
        self.verticalLayoutWidget = QtWidgets.QWidget(self.dockWidgetContents)
        # self.verticalLayoutWidget.setGeometry(QtCore.QRect(0, 0, 150, 600))  # разобраться

        self.verticalLayout = QtWidgets.QVBoxLayout(self.verticalLayoutWidget)
        self.verticalLayout.setContentsMargins(0, 0, 0, 0)

        self.label = QtWidgets.QLabel(self.verticalLayoutWidget)
        self.verticalLayout.addWidget(self.label, stretch=0)

        self.textBrowser = QtWidgets.QTextBrowser(self.verticalLayoutWidget)
        self.textBrowser.setSizePolicy(
            QSizePolicy(QSizePolicy.MinimumExpanding,
                        QSizePolicy.MinimumExpanding))

        self.verticalLayout.addWidget(self.textBrowser, stretch=0)

        self.dockWidget.setWidget(self.dockWidgetContents)

        self.dockWidget.setMinimumWidth(150)
        self.dockWidget.setMinimumHeight(230)
        self.textBrowser.setMaximumWidth(148)

        self.label.setText("Совершено ходов: " +
                           str(self.a.Table.NumberOfTurn))
Пример #10
0
    def setupUi(self, MainWindow):
        MainWindow.setObjectName("MainWindow")
        MainWindow.resize(800, 600)
        self.centralwidget = QtWidgets.QWidget(MainWindow)
        self.centralwidget.setObjectName("centralwidget")
        MainWindow.setCentralWidget(self.centralwidget)
        self.menubar = QtWidgets.QMenuBar(MainWindow)
        self.menubar.setGeometry(QtCore.QRect(0, 0, 800, 23))
        self.menubar.setObjectName("menubar")
        self.editMenu = QtWidgets.QMenu(self.menubar)
        self.editMenu.setObjectName("editMenu")
        MainWindow.setMenuBar(self.menubar)
        self.statusbar = QtWidgets.QStatusBar(MainWindow)
        self.statusbar.setObjectName("statusbar")
        MainWindow.setStatusBar(self.statusbar)
        self.controlDock = QtWidgets.QDockWidget(MainWindow)
        self.controlDock.setObjectName("controlDock")
        self.dockWidgetContents_2 = QtWidgets.QWidget()
        self.dockWidgetContents_2.setObjectName("dockWidgetContents_2")
        self.verticalLayout = QtWidgets.QVBoxLayout(self.dockWidgetContents_2)
        self.verticalLayout.setContentsMargins(0, 0, 0, 0)
        self.verticalLayout.setObjectName("verticalLayout")
        self.startButton = QtWidgets.QPushButton(self.dockWidgetContents_2)
        self.startButton.setObjectName("startButton")
        self.verticalLayout.addWidget(self.startButton)
        self.stopButton = QtWidgets.QPushButton(self.dockWidgetContents_2)
        self.stopButton.setObjectName("stopButton")
        self.verticalLayout.addWidget(self.stopButton)
        self.controlDock.setWidget(self.dockWidgetContents_2)
        MainWindow.addDockWidget(QtCore.Qt.DockWidgetArea(4), self.controlDock)
        self.menubar.addAction(self.editMenu.menuAction())

        self.retranslateUi(MainWindow)
        QtCore.QMetaObject.connectSlotsByName(MainWindow)
Пример #11
0
    def __init__(self, *args, **kwargs):
        super().__init__()

        self.textedit = qtw.QTextEdit()
        self.setCentralWidget(self.textedit)
        self.statusBar().showMessage('Welcome')

        dock = qtw.QDockWidget("RegEx")
        self.addDockWidget(qtc.Qt.LeftDockWidgetArea, dock)

        regex_widget = qtw.QWidget()
        regex_widget.setLayout(qtw.QVBoxLayout())
        dock.setWidget(regex_widget)

        self.expression_box = qtw.QLineEdit(placeholderText="enter expression")
        self.showbtn = qtw.QPushButton("Show")
        self.prntbtn = qtw.QPushButton("Print")
        regex_widget.layout().addWidget(qtw.QLabel("Expression"))
        regex_widget.layout().addWidget(self.expression_box)
        regex_widget.layout().addWidget(self.showbtn)
        regex_widget.layout().addWidget(self.prntbtn)
        regex_widget.layout().addStretch()

        self.showbtn.clicked.connect(self.showpattern)
        self.prntbtn.clicked.connect(self.findpattern)
        self.show()
Пример #12
0
    def kicadToNgspiceEditor(self, clarg1, clarg2=None):
        """
        This function is creating Editor UI for Kicad to Ngspice conversion.
        """
        global count
        self.kicadToNgspiceWidget = QtWidgets.QWidget()
        self.kicadToNgspiceLayout = QtWidgets.QVBoxLayout()
        self.kicadToNgspiceLayout.addWidget(MainWindow(clarg1, clarg2))

        self.kicadToNgspiceWidget.setLayout(self.kicadToNgspiceLayout)
        dock['kicadToNgspice-' + str(count)] = \
            QtWidgets.QDockWidget('kicadToNgspice-' + str(count))
        dock['kicadToNgspice-' + str(count)].setWidget(
            self.kicadToNgspiceWidget)
        self.addDockWidget(QtCore.Qt.TopDockWidgetArea,
                           dock['kicadToNgspice-' + str(count)])
        self.tabifyDockWidget(dock['Welcome'],
                              dock['kicadToNgspice-' + str(count)])

        # CSS
        dock['kicadToNgspice-' + str(count)].setStyleSheet(" \
        .QWidget { border-radius: 15px; border: 1px solid gray;\
            padding: 5px; width: 200px; height: 150px;  } \
        ")

        dock['kicadToNgspice-' + str(count)].setVisible(True)
        dock['kicadToNgspice-' + str(count)].setFocus()
        dock['kicadToNgspice-' + str(count)].raise_()
        dock['kicadToNgspice-' + str(count)].activateWindow()

        temp = self.obj_appconfig.current_project['ProjectName']
        if temp:
            self.obj_appconfig.dock_dict[temp].append(dock['kicadToNgspice-' +
                                                           str(count)])
        count = count + 1
Пример #13
0
 def __init__(self, x=None):
     # will keep track of which *index* in the time axis should be used to
     # draw the current scene
     self.t = 0
     self.sim = None
     # define the actual axes layout
     self.fig = plt.figure()
     # area to plot polymers
     self.ax3d = plt.axes([0.05, 0.15, 0.9, 0.8], facecolor='w', projection='3d')
     # area to plot "slider" for selecting what time to plot
     self.ax = plt.axes([0.1, 0.025, 0.8, 0.05], facecolor='lightgoldenrodyellow')
     # set up the QtGui panel and textbox
     self.root = self.fig.canvas.manager.window
     self.panel = QtWidgets.QWidget()
     self.hbox = QtWidgets.QHBoxLayout(self.panel)
     self.textbox = QtWidgets.QLineEdit(parent=self.panel)
     self.hbox.addWidget(self.textbox)
     self.panel.setLayout(self.hbox)
     self.dock = QtWidgets.QDockWidget("Simulation Directory", self.root)
     self.root.addDockWidget(Qt.BottomDockWidgetArea, self.dock)
     self.dock.setWidget(self.panel)
     # handler to check if new simulation directory has been entered
     self.textbox.textChanged.connect(self.update_dir)
     # slider to control what "time" is plotted, (0,1) is rescaled total
     # simulation time units
     self.slider_t = Slider(self.ax, 't', 0, 1, valinit=0)
     # handler to check if the "time" slider has been moved
     self.slider_t.on_changed(self.update_t)
     plt.show()
Пример #14
0
 def add_header(self, text):
     # JW: add header widget
     header = HeaderWidget()
     header.setText(text)
     dock = QtWidgets.QDockWidget()
     dock.setWidget(header)
     self.addDockWidget(QtCore.Qt.LeftDockWidgetArea, dock)
Пример #15
0
    def createHelpWindow(self):
        self.helpEngine = QtHelp.QHelpEngine(
            os.path.join(CURRENT_DIR, "documentation", "qgraphicshelpexample.qhc")
        )
        self.helpEngine.setupData()

        tWidget = QtWidgets.QTabWidget()
        tWidget.setMaximumWidth(200)
        tWidget.addTab(self.helpEngine.contentWidget(), "Contents")
        tWidget.addTab(self.helpEngine.indexWidget(), "Index")

        textViewer = HelpBrowser(self.helpEngine)
        textViewer.setSource(
            QtCore.QUrl("qthelp://walletfox.qt.helpexample/doc/index.html")
        )

        self.helpEngine.setUsesFilterEngine(True)
        self.helpEngine.contentWidget().linkActivated.connect(textViewer.setSource)
        self.helpEngine.indexWidget().linkActivated.connect(textViewer.setSource)

        horizSplitter = QtWidgets.QSplitter(QtCore.Qt.Horizontal)
        horizSplitter.insertWidget(0, tWidget)
        horizSplitter.insertWidget(1, textViewer)
        horizSplitter.hide()

        self.helpWindow = QtWidgets.QDockWidget(self.tr("Help"), self)
        self.helpWindow.setWidget(horizSplitter)
        self.helpWindow.hide()
        self.addDockWidget(QtCore.Qt.BottomDockWidgetArea, self.helpWindow)
    def createdock2(self):
        self.dockWidget_2 = QtWidgets.QDockWidget(self)
        self.dockWidget_2.setFeatures(
            QtWidgets.QDockWidget.DockWidgetFloatable | QtWidgets.QDockWidget.DockWidgetMovable)
        self.dockWidget_2.setObjectName("dockWidget_2")
        self.dockWidgetContents_5 = QtWidgets.QWidget()
        self.dockWidgetContents_5.setObjectName("dockWidgetContents_5")
        self.horizontalLayout_2 = QtWidgets.QHBoxLayout(self.dockWidgetContents_5)
        self.horizontalLayout_2.setObjectName("horizontalLayout_2")
        self.gridLayout_2 = QtWidgets.QGridLayout()
        self.gridLayout_2.setObjectName("gridLayout_2")
        self.pushButton_createpicture = QtWidgets.QPushButton(self.dockWidgetContents_5)
        self.pushButton_createpicture.setObjectName("pushButton_createpicture")
        self.gridLayout_2.addWidget(self.pushButton_createpicture, 1, 0, 1, 1)
        self.pushButton_capital = QtWidgets.QPushButton(self.dockWidgetContents_5)
        self.pushButton_capital.setObjectName("pushButton_capital")
        self.gridLayout_2.addWidget(self.pushButton_capital, 2, 0, 1, 1)
        self.pushButton_Backteston = QtWidgets.QPushButton(self.dockWidgetContents_5)
        self.pushButton_Backteston.setObjectName("pushButton_Backteston")
        self.gridLayout_2.addWidget(self.pushButton_Backteston, 0, 0, 1, 1)
        self.pushButton_drawdown = QtWidgets.QPushButton(self.dockWidgetContents_5)
        self.pushButton_drawdown.setObjectName("pushButton_drawdown")
        self.gridLayout_2.addWidget(self.pushButton_drawdown, 3, 0, 1, 1)
        self.horizontalLayout_2.addLayout(self.gridLayout_2)
        self.dockWidget_2.setWidget(self.dockWidgetContents_5)
        self.addDockWidget(QtCore.Qt.DockWidgetArea(8), self.dockWidget_2)

        self.pushButton_createpicture.clicked.connect(self.createPicture)
        self.pushButton_Backteston.clicked.connect(self.runbacktest)
        self.pushButton_capital.clicked.connect(self.createtotalcapital)
        self.pushButton_drawdown.clicked.connect(self.createdrawdown)
Пример #17
0
 def _setup_pet(self):
     self.dock_layer_win = QtWidgets.QDockWidget('Signals', self)
     self.dock_layer_win.setSizePolicy(QtGui.QSizePolicy.Minimum,
                                       QtGui.QSizePolicy.Minimum)
     #self.pet = XRayElementTable(parent=self.dock_pet_win)
     #self.dock_layer_win.setWidget(self.pet)
     self.addDockWidget(QtCore.Qt.RightDockWidgetArea, self.dock_layer_win)
Пример #18
0
    def setupToolbox(self):
        self.toolboxDockWidget = QtWidgets.QDockWidget()
        self.toolboxDockWidget.setWindowTitle("Toolbox")
        #self.toolboxDockWidget.setTitle("Toolbox")
        #self.toolboxDockWidget.setWidget()

        self.toolbox_TabWidget = QtWidgets.QTabWidget()

        self.toolbox_ComboBox = QtWidgets.QComboBox()

        self.toolbox_TreeList = BlockKit.BlockListItemSource()

        self.toolbox_AddNodeButton = QtWidgets.QPushButton("Add Node")
        self.toolbox_AddNodeButton.clicked.connect(self.addBlockFromList)

        for category in self.blockList:
            self.toolbox_ComboBox.addItem(category["categoryName"])

        #self.toolboxDockWidget.setTitleBarWidget(self.toolbox_ComboBox)
        self.toolbox_Layout = QtWidgets.QVBoxLayout()
        self.toolbox_Layout.addWidget(self.toolbox_ComboBox)
        self.toolbox_Layout.addWidget(self.toolbox_TreeList)
        self.toolbox_Layout.addWidget(self.toolbox_AddNodeButton)
        self.toolbox_Widget = QtWidgets.QWidget()
        self.toolbox_Widget.setLayout(self.toolbox_Layout)

        self.toolboxDockWidget.setWidget(self.toolbox_Widget)

        self.toolbox_ComboBox.currentIndexChanged.connect(
            self.toolboxCategoryChanged)

        self.addDockWidget(Qt.RightDockWidgetArea, self.toolboxDockWidget)

        self.toolboxCategoryChanged(0)
        return
Пример #19
0
def dock(widget,
         title,
         parent,
         allowedAreas = QtCore.Qt.AllDockWidgetAreas,
         defaultArea = 'right',
         name=None,
         icon = None):
    
    dock = QtWidgets.QDockWidget(title,parent,objectName=title)
    
    if name: dock.setObjectName(name)
    if icon: dock.toggleViewAction().setIcon(icon)
    
    dock.setAllowedAreas(allowedAreas)
    dock.setWidget(widget)
    action = dock.toggleViewAction()
    action.setText(title)
    
    dock.setFeatures(QtWidgets.QDockWidget.DockWidgetFeatures(\
                     QtWidgets.QDockWidget.AllDockWidgetFeatures))
    
    parent.addDockWidget(DOCK_POSITIONS[defaultArea],
                         dock)
    
    return dock
Пример #20
0
 def CreateLeftDock(self):
     dock = QtWidgets.QDockWidget("Image Option")
     dock.setWidget(self.dockWidget)
     dock.setObjectName("ImageOptionDock")
     dock.setFeatures(dock.DockWidgetFloatable | dock.DockWidgetMovable)
     self.addDockWidget(QtCore.Qt.LeftDockWidgetArea, dock)
     dock.setMinimumWidth(200)
Пример #21
0
    def createDock(self, parentWidget, menu=None):
        from PyQt5 import QtWidgets, QtCore

        dock = QtWidgets.QDockWidget("XBox pad", parentWidget)
        widget = QtWidgets.QWidget(parentWidget)
        layout = QtWidgets.QHBoxLayout(parentWidget)
        widget.setLayout(layout)
        self.checkbox = QtWidgets.QCheckBox('Connected')
        self.checkbox.setDisabled(True)
        self.checkbox.setTristate(True)
        self.checkbox.setCheckState(QtCore.Qt.PartiallyChecked)
        layout.addWidget(self.checkbox)
        # self.textedit = QtWidgets.QTextEdit()
        # layout.addWidget(self.textedit)

        dock.setWidget(widget)
        dock.setAllowedAreas(QtCore.Qt.TopDockWidgetArea
                             | QtCore.Qt.BottomDockWidgetArea)
        parentWidget.addDockWidget(QtCore.Qt.TopDockWidgetArea, dock)
        if menu:
            menu.addAction(dock.toggleViewAction())

        def updateSlot(status):
            if 'connected' in status:
                v = QtCore.Qt.Checked if status[
                    'connected'] else QtCore.Qt.Unchecked
                self.checkbox.setCheckState(v)
            # self.textedit.setText(str(status))

        self.createListenerThread(updateSlot)
Пример #22
0
    def addTimeSlider(self):
        stack = self.model.getScene()

        self.time_slider = QRangeSlider(self)
        self.time_slider.setMaximumHeight(50)

        slider_tmin = math.ceil(stack.tmin)
        slider_tmax = math.floor(stack.tmax)

        def datetime_formatter(value):
            return datetime.fromtimestamp(value).strftime("%Y-%m-%d")

        self.time_slider.setMin(slider_tmin)
        self.time_slider.setMax(slider_tmax)
        self.time_slider.setRange(slider_tmin, slider_tmax)
        self.time_slider.setFormatter(datetime_formatter)

        @QtCore.pyqtSlot(int)
        def changeTimeRange():
            tmin, tmax = self.time_slider.getRange()
            stack.set_time_range(tmin, tmax)

        self.time_slider.startValueChanged.connect(changeTimeRange)
        self.time_slider.endValueChanged.connect(changeTimeRange)

        self.dock_time_slider = QtWidgets.QDockWidget(
            "Displacement time series - range control", self)
        self.dock_time_slider.setWidget(self.time_slider)
        self.dock_time_slider.setFeatures(
            QtWidgets.QDockWidget.DockWidgetMovable)
        self.dock_time_slider.setAllowedAreas(QtCore.Qt.BottomDockWidgetArea
                                              | QtCore.Qt.TopDockWidgetArea)

        self.addDockWidget(QtCore.Qt.BottomDockWidgetArea,
                           self.dock_time_slider)
Пример #23
0
def test_CollapsibleBox():
    import random
    import sys

    app = QtWidgets.QApplication(sys.argv)

    w = QtWidgets.QMainWindow()
    w.setCentralWidget(QtWidgets.QWidget())
    dock = QtWidgets.QDockWidget("Collapsible Demo")
    w.addDockWidget(QtCore.Qt.LeftDockWidgetArea, dock)
    scroll = QtWidgets.QScrollArea()
    dock.setWidget(scroll)
    content = QtWidgets.QWidget()
    scroll.setWidget(content)
    scroll.setWidgetResizable(True)
    vlay = QtWidgets.QVBoxLayout(content)
    for i in range(10):
        box = CollapsibleBox("Collapsible Box Header-{}".format(i))
        vlay.addWidget(box)
        lay = QtWidgets.QVBoxLayout()
        for j in range(8):
            label = QtWidgets.QLabel("{}".format(j))
            color = QtGui.QColor(*[random.randint(0, 255) for _ in range(3)])
            label.setStyleSheet("background-color: {}; color : white;".format(
                color.name()))
            label.setAlignment(QtCore.Qt.AlignCenter)
            lay.addWidget(label)

        box.setContentLayout(lay)
    vlay.addStretch()
    w.resize(640, 480)
    w.show()
    sys.exit(app.exec_())
Пример #24
0
 def __file_browser_side_bar(self):
     self.file_browser_side_bar = QtWidgets.QDockWidget(
         "File Browser", self)
     self.addDockWidget(QtCore.Qt.LeftDockWidgetArea,
                        self.file_browser_side_bar)
     self.dockedWidget = FileBrowser()
     self.file_browser_side_bar.setWidget(self.dockedWidget)
Пример #25
0
    def _setup_ui(self):
        # Add a side menu for specifying the wavelength of the selected line
        panel = QtWidgets.QWidget()

        label = QtWidgets.QLabel("Enter wavelength [Å]:", panel)
        help_label = QtWidgets.QLabel("Enter a wavelength value, zoom in, then select the region "
                                      "containing the emission line at the specified wavelength.",
                                      panel)
        help_label.setStyleSheet("font-style: italic;")
        self._ui['textbox'] = QtWidgets.QLineEdit(parent=panel)

        panel.layout = QtWidgets.QGridLayout(panel)
        panel.layout.addWidget(label, 0, 0, 1, 1)
        panel.layout.addWidget(self._ui['textbox'], 0, 1, 1, 1)
        panel.layout.addWidget(help_label, 1, 0, 1, 2, Qt.AlignCenter)

        main_window = self.fig.canvas.manager.window
        dock = QtWidgets.QDockWidget("Enter wavelength:", main_window)
        main_window.addDockWidget(Qt.BottomDockWidgetArea, dock)
        dock.setWidget(panel)

        # A 1D span selector to highlight a given line
        span = SpanSelector(self.ax, self._on_select, 'horizontal', useblit=True,
                            rectprops=dict(alpha=0.5, facecolor='red'))
        span.set_active(False)

        def enable_span():
            tb = self.fig.canvas.manager.toolbar

            if span.active:
                span.set_active(False)
            else:
                span.set_active(True)

            if tb._active == 'PAN':
                tb.pan()
                tb._actions['pan'].setChecked(False)

            if tb._active == 'ZOOM':
                tb.zoom()
                tb._actions['zoom'].setChecked(False)

        span_control = QtWidgets.QPushButton('λ')
        span_control.setCheckable(True)
        span_control.clicked.connect(enable_span)
        span_control.setStyleSheet("color: #de2d26; font-weight: bold;")
        self.fig.canvas.manager.toolbar.addWidget(span_control)

        # setup auto-identify button
        if self.line_list is not None:
            autoid_control = QtWidgets.QPushButton('auto-identify')
            autoid_control.clicked.connect(self.auto_identify)
            self.fig.canvas.manager.toolbar.addWidget(autoid_control)

        # add a button for "done"
        done_control = QtWidgets.QPushButton('done')
        done_control.clicked.connect(self._finish)
        self.fig.canvas.manager.toolbar.addWidget(done_control)

        plt.show()
Пример #26
0
    def setupUi(self, Main):
        Main.setObjectName("Main")
        Main.resize(861, 600)
        self.content = QtWidgets.QWidget(Main)
        self.content.setObjectName("content")
        self.verticalLayout = QtWidgets.QVBoxLayout(self.content)
        self.verticalLayout.setObjectName("verticalLayout")
        self.main_plot = PlotWidget(self.content)
        self.main_plot.setObjectName("main_plot")
        self.verticalLayout.addWidget(self.main_plot)
        Main.setCentralWidget(self.content)
        self.menubar = QtWidgets.QMenuBar(Main)
        self.menubar.setGeometry(QtCore.QRect(0, 0, 861, 21))
        self.menubar.setObjectName("menubar")
        self.menuFile = QtWidgets.QMenu(self.menubar)
        self.menuFile.setObjectName("menuFile")
        Main.setMenuBar(self.menubar)
        self.station1_dock = QtWidgets.QDockWidget(Main)
        self.station1_dock.setObjectName("station1_dock")
        self.station1_plot = PlotWidget()
        self.station1_plot.setObjectName("station1_plot")
        self.station1_dock.setWidget(self.station1_plot)
        Main.addDockWidget(QtCore.Qt.DockWidgetArea(2), self.station1_dock)
        self.station2_dock = QtWidgets.QDockWidget(Main)
        self.station2_dock.setObjectName("station2_dock")
        self.station2_plot = PlotWidget()
        self.station2_plot.setObjectName("station2_plot")
        self.station2_dock.setWidget(self.station2_plot)
        Main.addDockWidget(QtCore.Qt.DockWidgetArea(2), self.station2_dock)
        self.statusBar = QtWidgets.QStatusBar(Main)
        self.statusBar.setObjectName("statusBar")
        Main.setStatusBar(self.statusBar)
        self.settings_action = QtWidgets.QAction(Main)
        self.settings_action.setObjectName("settings_action")
        self.quit_action = QtWidgets.QAction(Main)
        self.quit_action.setObjectName("quit_action")
        self.statistic_action = QtWidgets.QAction(Main)
        self.statistic_action.setObjectName("statistic_action")
        self.menuFile.addAction(self.settings_action)
        self.menuFile.addAction(self.statistic_action)
        self.menuFile.addSeparator()
        self.menuFile.addAction(self.quit_action)
        self.menubar.addAction(self.menuFile.menuAction())

        self.retranslateUi(Main)
        self.quit_action.triggered['bool'].connect(Main.close)
        QtCore.QMetaObject.connectSlotsByName(Main)
Пример #27
0
    def setupDock(self):
        self.contrast = AtContrastWidget(self, self.tileview)
        self.sorting = AtSortWidget(self, self.tileview, self.featuredlg)
        self.annotation = AtAnnotationWidget(
            self, self.tileview, self.featuredlg)

        self.contrastdock = QtWidgets.QDockWidget("Contrast", self)
        self.contrastdock.setWidget(self.contrast)
        self.contrastdock.setObjectName("contrast")
        self.addDockWidget(Qt.LeftDockWidgetArea, self.contrastdock)

        self.sortdock = QtWidgets.QDockWidget("Sorting", self)
        self.sortdock.setWidget(self.sorting)
        self.sortdock.setObjectName("sorting")
        self.addDockWidget(Qt.RightDockWidgetArea, self.sortdock)

        self.annodock = QtWidgets.QDockWidget("Annotation", self)
        self.annodock.setWidget(self.annotation)
        self.annodock.setObjectName("annotation")
        self.addDockWidget(Qt.RightDockWidgetArea, self.annodock)

        self.tabifyDockWidget(self.sortdock, self.annodock)

        # add action to the view menu
        sort_action = self.sortdock.toggleViewAction()
        sort_action.setShortcuts(QKeySequence(Qt.ALT +  Qt.SHIFT + Qt.Key_S))
        self.menuView.addAction(sort_action)

        anno_action = self.annodock.toggleViewAction()
        anno_action.setShortcuts(QKeySequence(Qt.ALT +  Qt.SHIFT + Qt.Key_A))
        self.menuView.addAction(anno_action)

        contrast_action = self.contrastdock.toggleViewAction()
        contrast_action.setShortcuts(
            QKeySequence(Qt.ALT +  Qt.SHIFT + Qt.Key_C))
        self.menuView.addAction(contrast_action)

        # crosslink sorter dock and sorter toolbar
        self.sortToolBar.sortAlgorithm.currentIndexChanged.connect(
            self.sorting.sortAlgorithm.setCurrentIndex)
        self.sorting.sortAlgorithm.currentIndexChanged.connect(
            self.sortToolBar.sortAlgorithm.setCurrentIndex)

        self.sortToolBar.sortAscendingBtn.clicked.connect(
            self.sorting.sortAscending)
        self.sortToolBar.sortDescendingBtn.clicked.connect(
            self.sorting.sortDescending)
Пример #28
0
    def initUIwindow(self):

        # add as a CONTROL panel dock widget
        self.controlWid = controlWidget()
        self.controlPanel = QtWidgets.QDockWidget("Control", self)
        self.controlPanel.setObjectName("Control")
        self.controlPanel.setWidget(self.controlWid)
        self.controlPanel.setFloating(False)
        self.addDockWidget(QtCore.Qt.LeftDockWidgetArea, self.controlPanel)

        # add as a MATPLOTLIB panel dock widget
        self.matPlotlWid = matPlotwidget()
        self.matPlotPanel = QtWidgets.QDockWidget("IMAGE", self)
        self.matPlotPanel.setObjectName("Image")
        self.matPlotPanel.setWidget(self.matPlotlWid)
        self.matPlotPanel.setFloating(False)
        self.setCentralWidget(self.matPlotPanel)
        # self.addDockWidget(QtCore.Qt.RightDockWidgetArea, self.matPlotPanel)

        # action: exit
        exitAction = QtWidgets.QAction(QtGui.QIcon('exit.png'), '&Exit', self)
        exitAction.setShortcut('Ctrl+Q')
        exitAction.setStatusTip('Exit application')
        exitAction.triggered.connect(QtWidgets.qApp.quit)
        # action: open file (Image files)
        openImageAction = QtWidgets.QAction(QtGui.QIcon('dicom.png'),
                                            '&open ultrasound images', self)
        openImageAction.setStatusTip('open ultrasound dir')
        openImageAction.triggered.connect(self.LoadImageFileDialog)

        # menu bar
        menubar = self.menuBar()
        fileMemu = menubar.addMenu('&File')
        fileMemu.addAction(exitAction)
        fileMemu.addAction(openImageAction)

        # tool bar
        self.toolbar = self.addToolBar('&ToolBar1')
        self.toolbar.addAction(exitAction)
        self.toolbar.addAction(openImageAction)

        # status bar
        self.statusBar()
        self.resize(1200, 1000)
        self.center()
        self.setWindowTitle('GUI sample App v1.0')
        self.show()
Пример #29
0
    def createDock(self, parentWidget, menu=None):
        dock = QtWidgets.QDockWidget("DummyGUI Window Name", parentWidget)
        widget1 = QtWidgets.QWidget(dock)
        layout = QtWidgets.QHBoxLayout(parentWidget)

        self.LCD = QtWidgets.QLCDNumber()
        self.LCD.setSegmentStyle(QtWidgets.QLCDNumber.Flat)
        self.btn_settings = QtWidgets.QPushButton("Settings")
        self.btn_settings.setToolTip('This is an example button')
        self.btn_settings.setSizePolicy(QtWidgets.QSizePolicy.Fixed,
                                        QtWidgets.QSizePolicy.Fixed)

        layout.addWidget(self.btn_settings)
        layout.addWidget(self.LCD)

        widget1.setLayout(layout)
        dock.setWidget(widget1)

        dock.setAllowedAreas(QtCore.Qt.TopDockWidgetArea
                             | QtCore.Qt.BottomDockWidgetArea)
        parentWidget.addDockWidget(QtCore.Qt.TopDockWidgetArea, dock)

        #second window with advanced settings
        grid = QtWidgets.QGridLayout(parentWidget)
        widget2 = QtWidgets.QWidget(dock)

        self.comboBox = QtWidgets.QComboBox()
        self.comboBox.addItem("Kosiarka")
        self.comboBox.addItem("Korniszon")
        self.comboBox.addItem("Kanapka z chlebem")
        self.comboBox.setToolTip('This is an example comboBox')
        self.comboBox.setSizePolicy(QtWidgets.QSizePolicy.Fixed,
                                    QtWidgets.QSizePolicy.Fixed)

        self.LCD2 = QtWidgets.QLCDNumber()
        self.LCD2.setSegmentStyle(QtWidgets.QLCDNumber.Flat)

        self.btn_min = QtWidgets.QPushButton("min")
        self.btn_min.setToolTip('This is an example button')
        self.btn_min.setSizePolicy(QtWidgets.QSizePolicy.Fixed,
                                   QtWidgets.QSizePolicy.Fixed)

        grid.addWidget(self.comboBox, 1, 1)
        grid.addWidget(self.LCD2, 1, 2)
        grid.addWidget(self.btn_min, 4, 1)
        widget2.setLayout(grid)
        widget2.hide()

        def hideDialog():
            dock.setWidget(widget1)

        def showDialog():
            dock.setWidget(widget2)

        self.btn_settings.clicked.connect(showDialog)
        self.btn_min.clicked.connect(hideDialog)

        if menu:
            menu.addAction(dock.toggleViewAction())
Пример #30
0
    def setupUi(self, Form):
        Form.setObjectName("Form")
        Form.resize(611, 617)
        Form.setMinimumSize(QtCore.QSize(611, 617))
        Form.setMaximumSize(QtCore.QSize(611, 617))
        self.textEdit = QtWidgets.QTextEdit(Form)
        self.textEdit.setGeometry(QtCore.QRect(60, 30, 391, 521))
        self.textEdit.setMinimumSize(QtCore.QSize(391, 521))
        self.textEdit.setObjectName("textEdit")

        eng=" A1B'K2L@CIF/MSP\"E3H9O6R^DJG>NTQ,*5<-U8V.%[$+X!&;:4\\0Z7(_?W]#Y)="
        braille="⠀⠁⠂⠃⠄⠅⠆⠇⠈⠉⠊⠋⠌⠍⠎⠏⠐⠑⠒⠓⠔⠕⠖⠗⠘⠙⠚⠛⠜⠝⠞⠟⠠⠡⠢⠣⠤⠥⠦⠧⠨⠩⠪⠫⠬⠭⠮⠯⠰⠱⠲⠳⠴⠵⠶⠷⠸⠹⠺⠻⠼⠽⠾⠿"
        transtab = str.maketrans(eng, braille)
        # transtab = str.maketrans(braille, eng)
        f1=open(get_path.get_english(),'r')
        contents=f1.read().upper()
        b1=open(get_path.get_braille(),'a')
        b1.write(contents.translate(transtab))
        f1.close()
        b1.close()
        # print(s.translate(transtab))


        b=open(get_path.get_braille(),'r+', encoding="utf8")
        f=b.read()
        self.textEdit.setPlainText(f)

        self.Finish = QtWidgets.QPushButton(Form)
        self.Finish.setGeometry(QtCore.QRect(420, 570, 113, 32))
        self.Finish.setMinimumSize(QtCore.QSize(113, 32))
        self.Finish.setObjectName("Finish")

        self.Finish.clicked.connect(self.openWindow)
        self.Finish.clicked.connect(Form.close)

        self.pushButton_2 = QtWidgets.QPushButton(Form)
        self.pushButton_2.setGeometry(QtCore.QRect(290, 570, 113, 32))
        self.pushButton_2.setMinimumSize(QtCore.QSize(113, 32))
        self.pushButton_2.setObjectName("pushButton_2")

        self.dockWidget = QtWidgets.QDockWidget(Form)
        self.dockWidget.setGeometry(QtCore.QRect(480, 30, 131, 531))
        self.dockWidget.setMinimumSize(QtCore.QSize(131, 531))
        self.dockWidget.setObjectName("dockWidget")
        self.dockWidgetContents = QtWidgets.QWidget()
        self.dockWidgetContents.setObjectName("dockWidgetContents")
        self.dockWidget.setWidget(self.dockWidgetContents)
        self.label = QtWidgets.QLabel(Form)
        self.label.setGeometry(QtCore.QRect(480, 10, 111, 16))
        self.label.setMinimumSize(QtCore.QSize(111, 16))
        self.label.setObjectName("label")
        self.dockWidget.raise_()
        self.textEdit.raise_()
        self.Finish.raise_()
        self.pushButton_2.raise_()
        self.label.raise_()

        self.retranslateUi(Form)
        QtCore.QMetaObject.connectSlotsByName(Form)