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')
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)
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
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
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)
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)
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 )
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
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))
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)
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()
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
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()
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)
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)
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)
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
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
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)
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)
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)
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_())
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)
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()
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)
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)
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()
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())
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)