def add_repl(self, repl_pane, name): """ Adds the referenced REPL pane to the application. """ self.repl_pane = repl_pane self.repl = QDockWidget(_('{} REPL').format(name)) self.repl.setWidget(repl_pane) self.repl.setFeatures(QDockWidget.DockWidgetMovable) self.repl.setAllowedAreas(Qt.BottomDockWidgetArea | Qt.LeftDockWidgetArea | Qt.RightDockWidgetArea) self.addDockWidget(Qt.BottomDockWidgetArea, self.repl) self.connect_zoom(self.repl_pane) self.repl_pane.set_theme(self.theme) self.repl_pane.setFocus()
def createDockWidget(self): menubar = self.menuBar() file = menubar.addMenu("File") file.addAction("New") file.addAction("Save") file.addAction("Close") self.dock = QDockWidget("Dockable", self) self.listWiget = QListWidget() list = ["Python", "C++", "Java", "C#"] self.listWiget.addItems(list) self.dock.setWidget(self.listWiget) self.dock.setFloating(False) self.dock.setObjectName("DockableList") self.setCentralWidget(QTextEdit()) self.addDockWidget(Qt.RightDockWidgetArea, self.dock)
def construct_ui(self): """ UI construction function. """ self.addToolBar(Qt.TopToolBarArea, self.toolbar_control) log_dock = QDockWidget("Log", self) log_dock.setObjectName("dock_log") log_dock.setWidget(self.logger.widget) self.add_dock(log_dock) self.addDockWidget(Qt.RightDockWidgetArea, log_dock) dockFramerate = QDockWidget("Frame rates", self) dockFramerate.setWidget(self.plot_framerate) dockFramerate.setObjectName("dock_framerates") self.addDockWidget(Qt.RightDockWidgetArea, dockFramerate) self.add_dock(dockFramerate) if self.experiment.trigger is not None: self.toolbar_control.addWidget(self.chk_scope) self.experiment.gui_timer.timeout.connect(self.plot_framerate.update) self.toolbar_control.setObjectName("toolbar_control") self.setCentralWidget(None)
def add_debug_inspector(self): """ Display a debug inspector to view the call stack. """ self.debug_inspector = DebugInspector() self.debug_model = QStandardItemModel() self.debug_inspector.setModel(self.debug_model) self.inspector = QDockWidget(_('Debug Inspector')) self.inspector.setWidget(self.debug_inspector) self.inspector.setFeatures(QDockWidget.DockWidgetMovable) self.inspector.setAllowedAreas(Qt.BottomDockWidgetArea | Qt.LeftDockWidgetArea | Qt.RightDockWidgetArea) self.addDockWidget(Qt.RightDockWidgetArea, self.inspector) self.connect_zoom(self.debug_inspector)
def create_dock_widget_area(self): docWidget = QDockWidget("Script Jobs") # Updated by Pinkesh Shah on 05-May-20 to disable Scheduler layout # Start Region docWidget.setWidget(self.dock_widget) # docWidget.setWidget(self.dockWidgetGroupBox) # End Region # docWidget.setLayout(layout) docWidget.DockWidgetFeatures(QDockWidget.DockWidgetVerticalTitleBar) docWidget.setFloating(False) self.addDockWidget(Qt.LeftDockWidgetArea, docWidget, Qt.Vertical) docWidget.setSizePolicy(QSizePolicy.Expanding, QSizePolicy.Expanding)
def set_dockview_fields(self): self.fields = QDockWidget("Fields", self) self.fields.installEventFilter(self) self.fieldsQWidget = QWidget() self.fieldsScrollArea = QScrollArea() self.fieldsScrollArea.setWidgetResizable(True) self.fieldsScrollArea.setWidget(self.fieldsQWidget) self.layout = QGridLayout() self.fieldsQWidget.setLayout(self.layout) self.fields.setWidget(self.fieldsScrollArea) self.fields.setFloating(False) self.fields.setMinimumWidth(360) self.fields.setStyleSheet("QWidget { background-color: #AAB2BD}") self.addDockWidget(Qt.RightDockWidgetArea, self.fields)
def _create_dock_widget(window, name, area): dock = QDockWidget() scroll = QScrollArea(dock) dock.setWidget(scroll) widget = QWidget(scroll) scroll.setWidget(widget) scroll.setWidgetResizable(True) dock.setAllowedAreas(area) dock.setTitleBarWidget(QLabel(name)) window.addDockWidget(area, dock) dock_layout = QVBoxLayout() widget.setLayout(dock_layout) # Fix resize grip size # https://stackoverflow.com/a/65050468/2175965 dock.setStyleSheet("QDockWidget { margin: 4px; }") return dock, dock_layout
def add_plotter(self, plotter_pane, name): """ Adds the referenced plotter pane to the application. """ self.plotter_pane = plotter_pane self.plotter = QDockWidget(_("{} Plotter").format(name)) self.plotter.setWidget(plotter_pane) self.plotter.setFeatures(QDockWidget.DockWidgetMovable) self.plotter.setAllowedAreas( Qt.BottomDockWidgetArea | Qt.LeftDockWidgetArea | Qt.RightDockWidgetArea ) self.addDockWidget(Qt.BottomDockWidgetArea, self.plotter) self.plotter_pane.set_theme(self.theme) self.plotter_pane.setFocus()
def setUp(self): # mock the view so it has the same methods with mock.patch( 'mantidimaging.gui.windows.main.view.find_if_latest_version' ) as mock_find_latest_version: self.window = MainWindowView() mock_find_latest_version.assert_called_once() self.window.remove_stack = mock.Mock() self.dock = QDockWidget() self.dock.setWindowTitle("Potatoes") self.test_data = th.generate_images(automatic_free=False) self.view = StackVisualiserView(self.window, self.dock, self.test_data) self.dock.setWidget(self.view) self.window.addDockWidget(QtCore.Qt.TopDockWidgetArea, self.dock)
def __init_ui(self): self.create_menu() self.port_list = QListWidget(self) dock = QDockWidget(self.tr('Port list'), self) dock.setAllowedAreas(Qt.LeftDockWidgetArea | Qt.RightDockWidgetArea) dock.setFeatures(QDockWidget.DockWidgetMovable) dock.setWidget(self.port_list) self.addDockWidget(Qt.LeftDockWidgetArea, dock) self.central_widget = QTabWidget(self) self.setCentralWidget(self.central_widget) self.setMinimumSize(1000, 700) self.setWindowTitle('TRex Panel') self.show()
def __init__(self, parent=None): """ 界面初始化 载入历史时间 记录时间初始化 载入游戏 """ super(Jigsaw, self).__init__(parent) self.setupUi(self) self.initUi() self.puzzleImage = QPixmap("./img/Peppa.png") self.saveData = self.loadTime() self.dock2 = QDockWidget("完整的图片", self) self.dock2.resize(400, 400) self.setupPuzzle() self.initTimeUi()
def add_python3_runner(self, name, path): """ Display console output for the referenced running Python script. """ self.process_runner = PythonProcessPane() self.runner = QDockWidget(name) self.runner.setWidget(self.process_runner) self.runner.setFeatures(QDockWidget.DockWidgetMovable) self.runner.setAllowedAreas(Qt.BottomDockWidgetArea | Qt.LeftDockWidgetArea | Qt.RightDockWidgetArea) self.addDockWidget(Qt.BottomDockWidgetArea, self.runner) self.process_runner.start_process(path, name) self.process_runner.setFocus() self.connect_zoom(self.process_runner) return self.process_runner
def initUI(self): self.label = QLabel(self) self.label.setPixmap(QPixmap('../pic/top_mosaic_09cm_area31.tif')) self.setCentralWidget(self.label) self.dock = QDockWidget('LOG', self) self.textbrowser = QTextBrowser(self) self.dock.setWidget(self.textbrowser) self.addDockWidget(Qt.RightDockWidgetArea, self.dock) self.textbrowser.setText('k\nkk') self.setMenu_toolBar() self.statusBar() self.setGeometry(300, 300, 350, 350) self.setWindowTitle('Main window') self.show()
def __init__(self): QMainWindow.__init__(self) self.setupUi(self) self._logo = QPixmap(':/images/logo') self._workspaceVisible = False self._pixelSizeWidget = PixelSizeWidget() self._colorPicker = ColorPicker() self._canvas = Canvas() self._canvas.primary_color = self._colorPicker.primary_color self._canvas.secondary_color = self._colorPicker.secondary_color self._toolbar = ToolBar() self._optionsBar = OptionsBar(self._canvas) self._animationDisplay = AnimationDisplay() self._animationDisplay.backlight_enabled = self._canvas.backlight_enabled self._animationDisplayDock = QDockWidget() self._animationDisplayDock.setFeatures(QDockWidget.DockWidgetFloatable) self._animationDisplayDock.setWindowTitle("Animation Display") self._animationDisplayDock.setWidget(self._animationDisplay) self._animationManager = AnimationManager() self._layerManager = LayerManager() self._newSpriteDialog = NewSpriteDialog() self._newSpriteDialog.setWindowFlags(Qt.WindowTitleHint | Qt.WindowCloseButtonHint) # ----------------------------------------------------------------------------------------- self._init_components() self._init_layout() self._init_events() # ----------------------------------------------------------------------------------------- self.hide_workspace()
def createFileDock(self): self.fileDock = QDockWidget(FILE_DOCK_TITLE, self) self.fileListWidget = QListWidget() self.fileListWidget.setStyleSheet(STYLE_SHEET) self.fileListWidget.itemDoubleClicked.connect(self.fileItemChanged) fileListLayout = QVBoxLayout() fileListLayout.addWidget(self.fileListWidget) fileListContainter = QWidget() fileListContainter.setLayout(fileListLayout) self.fileDock.setWidget(fileListContainter) self.fileDock.setStyleSheet(STYLE_SHEET) self.fileDock.setFeatures(QDockWidget.DockWidgetFloatable | QDockWidget.DockWidgetMovable) self.addDockWidget(Qt.RightDockWidgetArea, self.fileDock)
def init(self): self.setGeometry(300, 300, 300, 250) self.setStyleSheet('background-color:white;') self.btn1 = QPushButton('Button', self) self.dock1 = QDockWidget('My First Dock', self) self.dock1.move(20, 20) self.dock1.resize(200, 100) self.dock1.setWidget(self.btn1) self.dock1.setFloating(False) self.dock1.setFeatures(self.dock1.DockWidgetClosable | self.dock1.DockWidgetMovable) self.dock1.setFeatures(self.dock1.NoDockWidgetFeatures) self.show()
def __setup_sub_window_dock(self, window: QWidget, config: dict, sub_window_data: SimpleNamespace): dock_name = config.get('DockName', '') dock_area = config.get('DockArea', Qt.NoDockWidgetArea) dock_show = config.get('DockShow', False) dock_float = config.get('DockFloat', False) dock_wnd = QDockWidget(dock_name, self) self.addDockWidget(dock_area, dock_wnd) dock_wnd.setWidget(window) if dock_float: dock_wnd.setFloating(True) dock_wnd.move(self.geometry().center() - dock_wnd.rect().center()) if dock_show: dock_wnd.show() sub_window_data.dock_wnd = dock_wnd
def __init__(self, parent=None): super(DockDemo, self).__init__(parent) layout = QHBoxLayout() self.items = QDockWidget('Expression Tree', self) self.treeModel = FunctionModel(simple_expr()) self.treeView = QTreeView(self) self.treeView.setModel(self.treeModel) self.items.setWidget(self.treeView) self.items.setFloating(False) self.setCentralWidget(QTextEdit()) self.addDockWidget(Qt.LeftDockWidgetArea, self.items) self.setLayout(layout) self.setWindowTitle('Dock')
def create_dockAnalisis(self): dock = QDockWidget('Tabla Analisis Sintactico') self.tab_ans = QTableWidget(dock) dock.setWidget(self.tab_ans) dock.resize(QSize(800, 400)) self.addDockWidget(Qt.NoDockWidgetArea, dock) self.view_menu.addAction(dock.toggleViewAction()) ##Inicializa la tabla. headerLabels = ('Pila Acciones', 'Cadena Entrada', 'Analisis Sintactico', 'Analisis Semantico') self.tab_ans.setColumnCount(4) self.tab_ans.setHorizontalHeaderLabels(headerLabels) self.tab_ans.resizeColumnsToContents()
def add_python3_runner(self, script_name, working_directory, interactive=False, debugger=False, command_args=None, runner=None, envars=None, python_args=None): """ Display console output for the referenced Python script. The script will be run within the workspace_path directory. If interactive is True (default is False) the Python process will run in interactive mode (dropping the user into the REPL when the script completes). If debugger is True (default is False) the script will be run within a debug runner session. The debugger overrides the interactive flag (you cannot run the debugger in interactive mode). If there is a list of command_args (the default is None) then these will be passed as further arguments into the command run in the new process. If runner is given, this is used as the command to start the Python process. If envars is given, these will become part of the environment context of the new chlid process. If python_args is given, these will be passed as arguments to the Python runtime used to launch the child process. """ self.process_runner = PythonProcessPane(self) self.runner = QDockWidget(_("Running: {}").format( os.path.basename(script_name))) self.runner.setWidget(self.process_runner) self.runner.setFeatures(QDockWidget.DockWidgetMovable) self.runner.setAllowedAreas(Qt.BottomDockWidgetArea | Qt.LeftDockWidgetArea | Qt.RightDockWidgetArea) self.addDockWidget(Qt.BottomDockWidgetArea, self.runner) self.process_runner.start_process(script_name, working_directory, interactive, debugger, command_args, envars, runner, python_args) self.process_runner.setFocus() self.process_runner.on_append_text.connect(self.on_stdout_write) self.connect_zoom(self.process_runner) return self.process_runner
def add_docker(self, title, tab_title): docker = QDockWidget() docker.setWindowTitle(title) self.addDockWidget(QtCore.Qt.RightDockWidgetArea, docker) docker.setAllowedAreas(QtCore.Qt.RightDockWidgetArea | QtCore.Qt.LeftDockWidgetArea) central_wdg_docker = QWidget() docker.setWidget(central_wdg_docker) v_box = QVBoxLayout() central_wdg_docker.setLayout(v_box) if self.dockers: self.tabifyDockWidget(self.dockers[-1][0], docker) self.dockers.append((docker, v_box)) return docker, v_box
def add_dock_window(self): # Info self.dock_info = QDockWidget('Information Panel', self) self.dock_info.setAllowedAreas(QtCore.Qt.LeftDockWidgetArea | QtCore.Qt.RightDockWidgetArea) self.dock_info.setFeatures(QDockWidget.DockWidgetMovable | QDockWidget.DockWidgetFloatable | QDockWidget.DockWidgetClosable) dockedWidget = QWidget() self.dock_info.setWidget(dockedWidget) layout = QGridLayout() layout.addWidget(self.center_canvas.canvas.zoom_label, 0, 0, 1, 3) layout.addWidget(self.center_canvas.canvas.mouse_pos_label, 1, 0, 1, 3) color_grid = QGridLayout() color_grid.addWidget(self.center_canvas.canvas.mouse_color_title, 0, 0, 1, 1) color_grid.addWidget(self.center_canvas.canvas.mouse_color_label, 0, 1, 1, 3) color_grid.addWidget(self.center_canvas.canvas.mouse_rgb_label, 1, 0, 1, 3) layout.addLayout(color_grid, 2, 0, 1, 3) layout.addWidget(HLine(), 3, 0, 1, 3) layout.addWidget(self.center_canvas.canvas.selection_pos_label, 4, 0, 1, 3) layout.addWidget(HLine(), 5, 0, 1, 3) layout.addWidget(self.center_canvas.canvas.include_names_label, 6, 0, 1, 3) layout.addWidget(self.center_canvas.canvas.exclude_names_label, 7, 0, 1, 3) layout.addWidget(HLine(), 8, 0, 1, 3) layout.addWidget(self.center_canvas.canvas.comparison_label, 9, 0, 1, 3) # update comparison info (for a second open) _, img_len_list = self.hvdb.update_path_list() show_str = 'Comparison:\n # for each folder:\n\t' + '\n\t'.join( map(str, img_len_list)) if len(img_len_list) > 1: self.center_canvas.canvas.comparison_label.setText(show_str) # for compact space blank_qlabel = QLabel() layout.addWidget(blank_qlabel, 10, 0, 20, 3) dockedWidget.setLayout(layout) self.addDockWidget(QtCore.Qt.RightDockWidgetArea, self.dock_info)
def addDock(self): dock1 = QDockWidget('Items') # dock1.setFeatures(QDockWidget.DockWidgetFloatable) # dock1.setFeatures(QDockWidget.DockWidgetClosable) # dock1.setFeatures(QDockWidget.DockWidgetMovable) dock1.setFeatures(QDockWidget.DockWidgetMovable | QDockWidget.DockWidgetFloatable | QDockWidget.DockWidgetClosable) # dock1.setFeatures(QDockWidget.DockWidgetVerticalTitleBar) # dock1.setFeatures(QDockWidget.NoDockWidgetFeatures) dock1.setAllowedAreas(Qt.RightDockWidgetArea | Qt.LeftDockWidgetArea) # 可停靠位置为左右 listwidget = QListWidget() listwidget.addItems(self.items) listwidget.currentRowChanged.connect( self.onDockListIndexChanged) # 当选择有变化时的动作 dock1.setWidget(listwidget) self.addDockWidget(Qt.LeftDockWidgetArea, dock1) # 初始显示位置
def setupDirTreeViewer(self): from PyQt5.QtGui import QTreeView, QFileSystemModel # from PyQt5.QtCore import QStringList self.dirTreeView = QTreeView() fileSystemModel = QFileSystemModel(self.dirTreeView) fileSystemModel.setReadOnly(False) self.dirTreeView.setModel(fileSystemModel) folder = "." filters = ['*.blox', '*.mac'] fileSystemModel.setNameFilters(filters) self.dirTreeView.setRootIndex(fileSystemModel.setRootPath(folder)) self.dock2 = QDockWidget("Directory browser", self) self.dock2.setWidget(self.dirTreeView) self.dock2.setFloating(False) self.addDockWidget(Qt.RightDockWidgetArea, self.dock2) self.dirTreeView.setDragEnabled(True) self.dirTreeView.show()
def initUi(self): self.statusBar().showMessage('Pick One') self.setGeometry(self.left, self.top, self.width, self.height) self.setWindowTitle('Picture Finder') self.setCentralWidget(self.Center) # dock widget webBrowser = QDockWidget("Picture Browser") webBrowser.setWidget(self.WebWidget) webBrowser.setGeometry(500, 300, 500, 500) self.Center.addSig.connect(self.addToFinalList) self.addDockWidget(Qt.RightDockWidgetArea, webBrowser) webBrowser.setFloating(True) self.show()
def helpInforShow(var): helpInforDock = QDockWidget('帮助信息', var) helpContent = QTextEdit(var) helpContent.setFrameShape(QFrame.Panel | QFrame.Sunken) # 边框样式 helpContent.setAlignment(Qt.AlignVCenter | Qt.AlignLeft) # 内容显示样式 helpContent.setEnabled(False) helpContent.setFocusPolicy(Qt.NoFocus) helpContent.setLineWrapMode(QTextEdit.NoWrap) # 一行文本不换行 helpContent.verticalScrollBar() # 垂直滚动 helpContent.horizontalScrollBar() # 水平滚动 helpContent.setPlaceholderText('此处显示帮助文档') helpInforDock.setFeatures(QDockWidget.NoDockWidgetFeatures) helpInforDock.setWidget(helpContent) return helpInforDock
def loadWidget(self, p): print(p.text()) if p.text() == " &New": MainWindow.count = MainWindow.count + 1 dockWidget = QDockWidget("Image Viewer " + str(MainWindow.count), self) dockWidget.setWidget(Window()) dockWidget.setFloating(False) self.addDockWidget(Qt.TopDockWidgetArea, dockWidget) if p.text() == " &LoadDie": image = QPixmap() image.load("resources/images/pyDexIcon.png") image = image.scaled(self.width(), self.height()) palette = QPalette() palette.setBrush(self.backgroundRole(), QBrush(image)) self.setPalette(palette) '''
def __init__(self, parent=None): super(MainWindow, self).__init__(parent) self.setCursor(Qt.ArrowCursor) iconPath = resource_path("HSL-logo.png") self.setWindowIcon(QtGui.QIcon(iconPath)) self.setWindowTitle("HSL | Blink Detection Data Collection") self.setGeometry(500, 300, 500, 300) # x,y,width,height # main widget self.main_ui_widget = MainWidget(disk_dir) main_widget = QDockWidget("", self) main_widget.setWidget(self.main_ui_widget) main_widget.setFloating(False) self.addDockWidget(Qt.LeftDockWidgetArea, main_widget) # menu bar self.menu_bar = MenuBar(disk_dir, self)
def Main(self): self.Tb = ToolBar(self) toobar = self.addToolBar("gongju") self.opdir = QAction('Open', self) self.exprt = QAction('Export', self) self.svprj = QAction('Save', self) toobar.addAction(self.opdir) toobar.addAction(self.svprj) toobar.addAction(self.exprt) toobar.addWidget(self.Tb) self.Files = QDockWidget('Loaded Image Files') file2 = [{ 'bkgd': '/mnt/d/YQ,WWY/2020-实验/wb/Source_Data/ChemiDoc Images 2020-09-06-2/nzt-rko-baf-a1+chemo24h-lc3_4(Colorimetric).tif', 'wb': '/mnt/d/YQ,WWY/2020-实验/wb/Source_Data/ChemiDoc Images 2020-09-06-2/nzt-rko-baf-a1+chemo24h-lc3_1(Chemiluminescence).tif' }] self.Selected_Imgs = Img_Tree(file2, self) self.Selected_Imgs.enable_bottom_btn(True) self.Selected_Imgs.enable_contextmenu(True) self.Files.setWidget(self.Selected_Imgs) self.Files.setFeatures(QDockWidget.NoDockWidgetFeatures) self.addDockWidget(Qt.LeftDockWidgetArea, self.Files) self.Selected_Imgs.Tree_Click_Signal.connect(self.Connect_Tree_To_Tab) Frame1 = QLabel('Add files to left Dock to Beign!', self) Frame1.setFont(QFont('Arial', 20)) Frame1.setAlignment(Qt.AlignCenter) self.Current = Frame1 self.Tab = QTabWidget(self) self.Tab.addTab(self.Current, 'Main') #self.Preview = QFrame(self.Tab) self.Preview = Image_Editor(self.Tab) self.Tab.addTab(self.Preview, 'Final') self.setCentralWidget(self.Tab) #self.Tab.currentChanged.connect(self.Prev) self.Tab.currentChanged.connect(self.Prev_Slot) self.Tb.Changed.connect(self.Syncing_Tb_to_Imgb) self.opdir.triggered.connect(lambda: print("")) self.svprj.triggered.connect(self.Preview.Save_Img) self.exprt.triggered.connect(self.Selected_Imgs.Export_Raw)
def histogramWin(self): if self.hist is None: histTab = QDockWidget("histogram cam {0}".format(self.iCam), self) widget = QWidget() layout = QGridLayout() widget.setLayout(layout) win = pg.GraphicsLayoutWidget() p1 = win.addPlot() p1.getViewBox().invertY(True) p1.hideAxis('left') p1.hideAxis('bottom') self.hist = pg.HistogramLUTItem() self.hist.axis.setPen('k') p1.addItem(self.hist) self.hist.setImageItem(self.view) layout.addWidget(win,0,0) histTab.setWidget(widget) histTab.setAllowedAreas(Qt.LeftDockWidgetArea | Qt.RightDockWidgetArea | Qt.BottomDockWidgetArea | Qt.TopDockWidgetArea) histTab.setFeatures(QDockWidget.DockWidgetMovable | QDockWidget.DockWidgetFloatable | QDockWidget.DockWidgetClosable) self.parent.addDockWidget(Qt.BottomDockWidgetArea ,histTab) histTab.setFloating(True) histTab.resize(200,200) try: histstate = self.hist.saveState() except Exception as err: display('[ERROR] - could not save histogram state. "pip install pyqtgraph --upgrade" might solve it.') print(err) def closefun(ev): try: self.hist.restoreState(histstate) except Exception as err: print(err) pass self.hist = None ev.accept() histTab.closeEvent = closefun