class PostProcessConfigWidget(QWidget): def __init__(self, parent=None): QWidget.__init__(self, parent) self.tree = PostProcessModulesTreeWidget() self.config = PostProcessModulesConfig() self.connect(self.tree, SIGNAL("moduleClicked"), self.config.update) self.connect(self.tree, SIGNAL("moduleStateChanged"), self.config.updateState) sizePolicy = QSizePolicy(QSizePolicy.Minimum, QSizePolicy.MinimumExpanding) sizePolicy.setVerticalStretch(1) self.setSizePolicy(sizePolicy) layout = QHBoxLayout() layout.setMargin(0) self.__splitter = QSplitter(Qt.Horizontal, self) layout.addWidget(self.__splitter) self.__splitter.addWidget(self.tree) self.__splitter.addWidget(self.config) self.__splitter.setStretchFactor(0, 0) self.__splitter.setStretchFactor(1, 80) self.setLayout(layout) def fillFromAnalyse(self): TaskManager().addAnalyseDependencies() self.tree.update()
def test_dock(self): reg = global_registry() reg = QtWidgetRegistry(reg, parent=self.app) toolbox = WidgetToolBox() toolbox.setObjectName("widgets-toolbox") toolbox.setModel(reg.model()) text = QTextEdit() splitter = QSplitter() splitter.setOrientation(Qt.Vertical) splitter.addWidget(toolbox) splitter.addWidget(text) dock = CollapsibleDockWidget() dock.setExpandedWidget(splitter) toolbar = QToolBar() toolbar.addAction("1") toolbar.setOrientation(Qt.Vertical) toolbar.setMovable(False) toolbar.setFloatable(False) dock.setCollapsedWidget(toolbar) dock.show() self.app.exec_()
class DebuggerExceptions(QWidget): " Implements the debugger context viewer " def __init__(self, parent=None): QWidget.__init__(self, parent) self.__createLayout() self.connect(self.clientExcptViewer, SIGNAL('ClientExceptionsCleared'), self.__onClientExceptionsCleared) return def __createLayout(self): " Creates the widget layout " verticalLayout = QVBoxLayout(self) verticalLayout.setContentsMargins(1, 1, 1, 1) self.splitter = QSplitter(Qt.Vertical) self.ignoredExcptViewer = IgnoredExceptionsViewer(self.splitter) self.clientExcptViewer = ClientExceptionsViewer( self.splitter, self.ignoredExcptViewer) self.splitter.addWidget(self.clientExcptViewer) self.splitter.addWidget(self.ignoredExcptViewer) self.splitter.setCollapsible(0, False) self.splitter.setCollapsible(1, False) verticalLayout.addWidget(self.splitter) return def clear(self): " Clears everything " self.clientExcptViewer.clear() return def addException(self, exceptionType, exceptionMessage, stackTrace): " Adds the exception to the view " self.clientExcptViewer.addException(exceptionType, exceptionMessage, stackTrace) return def isIgnored(self, exceptionType): " Returns True if this exception type should be ignored " return self.ignoredExcptViewer.isIgnored(exceptionType) def setFocus(self): " Sets the focus to the client exception window " self.clientExcptViewer.setFocus() return def getTotalClientExceptionCount(self): " Provides the total number of the client exceptions " return self.clientExcptViewer.getTotalCount() def __onClientExceptionsCleared(self): " Triggered when the user cleared exceptions " self.emit(SIGNAL('ClientExceptionsCleared')) return
def _initMainWidget(self): split = QSplitter(Qt.Horizontal, self) split.addWidget(self._actionList) split.addWidget(self._settingsWidget) split.setStretchFactor(0, 0) split.setStretchFactor(1, 1) return split
def createWidget(self): """ Create the widget """ self.diagramScene = QGraphicsScene(self) self.view = QGraphicsView(self.diagramScene) self.view.setRenderHint(QPainter.Antialiasing) # set the main layout layout = QVBoxLayout() self.logEdit = QTextEdit() self.logEdit.setReadOnly(True) hSplitter2 = QSplitter(self) hSplitter2.setOrientation(Qt.Vertical) hSplitter2.addWidget(self.view) hSplitter2.addWidget(self.logEdit) hSplitter2.setStretchFactor(0, 1) layout.addWidget(hSplitter2) self.setLayout(layout)
def _create_terminal(self): assert self._terminal is None, \ "should only call _create_terminal once" self._terminal_button = QToolButton(None) self._terminal_button.setToolTip("Toggle command line") self._ui.layerWidget.button_row.addWidget(self._terminal_button) self._terminal_button.setArrowType(Qt.DownArrow) try: from .widgets.terminal import glue_terminal widget = glue_terminal(data_collection=self._data, dc=self._data, hub=self._hub, **vars(env)) self._terminal_button.clicked.connect(self._toggle_terminal) except Exception as e: # pylint: disable=W0703 import traceback self._terminal_exception = traceback.format_exc() self._setup_terminal_error_dialog(e) return splitter = QSplitter(self) splitter.setOrientation(Qt.Vertical) splitter.addWidget(self._ui.centralwidget) splitter.addWidget(widget) splitter.setStretchFactor(0, 5) splitter.setStretchFactor(1, 1) self.setCentralWidget(splitter) self._terminal = widget self._hide_terminal()
def main(): app = QApplication(sys.argv) window = QMainWindow() splitter = QSplitter(window) window.setCentralWidget(splitter) left_view = MouseDevicesView(window) left_view.checkedDevicesChanged.connect(partial(show, 'left:')) right_view = MouseDevicesView(window) right_view.checkedDevicesChanged.connect(partial(show, 'right:')) splitter.addWidget(left_view) splitter.addWidget(right_view) def _move_checked_state(source, dest): checked = source.property('checkedDevices').toPyObject() dest.setProperty('checkedDevices', checked) toolbar = window.addToolBar('Actions') move_selection_left = QAction( QIcon.fromTheme('arrow-left'), 'Moved checked state left', window, triggered=partial(_move_checked_state, right_view, left_view)) move_selection_right = QAction( QIcon.fromTheme('arrow-right'), 'Moved checked state right', window, triggered=partial(_move_checked_state, left_view, right_view)) toolbar.addAction(move_selection_left) toolbar.addAction(move_selection_right) window.show() app.exec_()
def _initMainWidget(self): split = QSplitter(Qt.Horizontal, self) split.addWidget(self._peerList) split.addWidget(self._historyTable) split.setStretchFactor(0, 0) split.setStretchFactor(1, 1) return split
class modulesManager(QWidget): def __init__(self, parent): QWidget.__init__(self, parent) self.name = "moduleManager" self.stacked = stackedWidget(self) self.initWidget() self.initShape() def initWidget(self): self.toolbox = tabBox(self) def initShape(self): self.mainvbox = QVBoxLayout() self.splitter = QSplitter() self.splitter.setOrientation(Qt.Vertical) self.splitter.addWidget(self.toolbox) self.splitter.addWidget(self.stacked) self.mainvbox.addWidget(self.splitter) self.setLayout(self.mainvbox) cw = self.toolbox.currentWidget() cw.setCurrentItem(cw.item(0)) cw.emit(SIGNAL("itemPressed(QListWidgetItem *)"), cw.item(0)) def execute(self): args = self.stacked.currentWidget().validateModule() self.stacked.currentWidget().launchTask(args)
def main(): app = QApplication(sys.argv) window = QMainWindow() splitter = QSplitter(window) window.setCentralWidget(splitter) left_view = MouseDevicesView(window) left_view.checkedDevicesChanged.connect(partial(show, 'left:')) right_view = MouseDevicesView(window) right_view.checkedDevicesChanged.connect(partial(show, 'right:')) splitter.addWidget(left_view) splitter.addWidget(right_view) def _move_checked_state(source, dest): checked = source.property('checkedDevices').toPyObject() dest.setProperty('checkedDevices', checked) toolbar = window.addToolBar('Actions') move_selection_left = QAction(QIcon.fromTheme('arrow-left'), 'Moved checked state left', window, triggered=partial(_move_checked_state, right_view, left_view)) move_selection_right = QAction(QIcon.fromTheme('arrow-right'), 'Moved checked state right', window, triggered=partial(_move_checked_state, left_view, right_view)) toolbar.addAction(move_selection_left) toolbar.addAction(move_selection_right) window.show() app.exec_()
def __setup_ui(self): self.resize(1024, 768) self.__setup_menu() split = QSplitter() self.__mib_tree_widget = MibTreeWidget() split.addWidget(self.__mib_tree_widget) # self.__data_widget = DataWidget() split.addWidget(self.__data_widget) split.setHandleWidth(2) split.setStretchFactor(0, 1) split.setStretchFactor(1, 200) la = QVBoxLayout() self.__progress_bar = QProgressBar() self.__progress_bar.setValue(0) self.__progress_bar.setVisible(False) la.addWidget(self.__progress_bar, 1) la.addWidget(split, 1) cw = QWidget() cw.setLayout(la) self.setCentralWidget(cw)
def __init__( self, parent = None ): QWidget.__init__( self, parent ) self.__projectContextItem = None self.__fileContextItem = None self.upper = self.__createRecentFilesLayout() self.lower = self.__createRecentProjectsLayout() self.__createProjectPopupMenu() self.__createFilePopupMenu() layout = QVBoxLayout() layout.setContentsMargins( 1, 1, 1, 1 ) splitter = QSplitter( Qt.Vertical ) splitter.addWidget( self.upper ) splitter.addWidget( self.lower ) splitter.setCollapsible( 0, False ) splitter.setCollapsible( 1, False ) layout.addWidget( splitter ) self.setLayout( layout ) self.__populateProjects() self.__populateFiles() self.__updateProjectToolbarButtons() self.__updateFileToolbarButtons() # Debugging mode support self.__debugMode = False parent.debugModeChanged.connect( self.__onDebugMode ) return
def __init__(self, parent=None): QWidget.__init__(self, parent) self.__projectContextItem = None self.__fileContextItem = None self.upper = self.__createRecentFilesLayout() self.lower = self.__createRecentProjectsLayout() self.__createProjectPopupMenu() self.__createFilePopupMenu() layout = QVBoxLayout() layout.setContentsMargins(1, 1, 1, 1) splitter = QSplitter(Qt.Vertical) splitter.addWidget(self.upper) splitter.addWidget(self.lower) splitter.setCollapsible(0, False) splitter.setCollapsible(1, False) layout.addWidget(splitter) self.setLayout(layout) self.__populateProjects() self.__populateFiles() self.__updateProjectToolbarButtons() self.__updateFileToolbarButtons() # Debugging mode support self.__debugMode = False parent.debugModeChanged.connect(self.__onDebugMode) return
class CanvasToolDock(QWidget): """Canvas dock widget with widget toolbox, quick help and canvas actions. """ def __init__(self, parent=None, **kwargs): QWidget.__init__(self, parent, **kwargs) self.__setupUi() def __setupUi(self): layout = QVBoxLayout() layout.setContentsMargins(0, 0, 0, 0) layout.setSpacing(0) self.toolbox = WidgetToolBox() self.help = QuickHelpWidget(objectName="quick-help") self.__splitter = QSplitter() self.__splitter.setOrientation(Qt.Vertical) self.__splitter.addWidget(self.toolbox) self.__splitter.addWidget(self.help) self.toolbar = DynamicResizeToolBar() self.toolbar.setMovable(False) self.toolbar.setFloatable(False) self.toolbar.setSizePolicy(QSizePolicy.Ignored, QSizePolicy.Preferred) layout.addWidget(self.__splitter, 10) layout.addWidget(self.toolbar) self.setLayout(layout) self.__splitterResizer = SplitterResizer() self.__splitterResizer.setSplitterAndWidget(self.__splitter, self.help) def setQuickHelpVisible(self, state): """Set the quick help box visibility status. """ self.__splitterResizer.setExpanded(state) def quickHelpVisible(self): return self.__splitterResizer.expanded() def setQuickHelpAnimationEnabled(self, enabled): """Enable/disable the quick help animation. """ self.__splitterResizer.setAnimationEnabled(enabled) def toogleQuickHelpAction(self): """Return a checkable QAction for help show/hide. """ return self.__splitterResizer.toogleExpandedAction()
def __init__(self, settings, name, filename, plain_text=False, parent=None): super().__init__(parent=parent) splitty = QSplitter(self) self.setWidget(splitty) self.setWindowTitle(os.path.basename(name)) self.setFloating(True) self.setAttribute(Qt.WA_DeleteOnClose) self.plain_text = plain_text self.notePath = settings.notePath fh = QFile(filename) try: if not fh.open(QIODevice.ReadOnly): raise IOError(fh.errorString()) except IOError as e: QMessageBox.warning(self, self.tr("Read Error"), self.tr("Failed to open %s: %s") % (filename, e)) finally: if fh is not None: noteBody = QTextStream(fh).readAll() fh.close() self.tocw = TocTree(self) splitty.addWidget(self.tocw) strip_math_for_header_parsing = False strip_fence_for_header_parsing = False self.tocw.itemClicked.connect(self.tocNavigate) if 'asciimathml' in settings.extensions: stuff=JSCRIPT_TPL.format(settings.mathjax) strip_math_for_header_parsing = True else: stuff='' if 'fenced_code' in settings.extensions or 'extra' in settings.extensions: strip_fence_for_header_parsing = True if plain_text: note_view = QPlainTextEdit(self) qfnt = QFont() qfnt.setFamily('monospace') note_view.setFont(qfnt) note_view.setPlainText(noteBody) else: note_view = QWebView(self) note_view.setHtml(settings.md.reset().convert(noteBody)+stuff) note_view.page().setLinkDelegationPolicy(QWebPage.DelegateAllLinks) note_view.linkClicked.connect(self.linkClicked) note_view.settings().setUserStyleSheetUrl( QUrl('file://'+self.parent().settings.cssfile)) self.note_view = note_view splitty.addWidget(note_view) self.tocw.updateToc(os.path.basename(name), parseHeaders(noteBody, strip_fenced_block=strip_fence_for_header_parsing, strip_ascii_math=strip_math_for_header_parsing))
def __init__(self, params, parent=None): QWidget.__init__(self, parent) self.file_name=None self.is_global = False if params is not None: self.is_global = params["global"] import core.InterpreterEditorCommands core.InterpreterEditorCommands.EVENT_COMMAND_CLEAR += self.clear core.InterpreterEditorCommands.EVENT_COMMAND_RESET += self.reset self.setMinimumWidth(400) self.setMinimumHeight(100) # create widgets self._editor_widget = mixin( WidthPythonHighlighter, WithFind, WidthMqHighlighter, WithLineNumbers, WithViewPortMargins, WithWordCompletionMulty_, InterpreterEditor.WithInterpreterCompletion, WithCompletion, InterpreterEditor.WidthLineEnterEvent, WithBasicIdentationManager, WithLineHighlight, WithFixedFont, WithMqEditIO, BaseWidget, QPlainTextEdit)(self) self._editor_widget.on_lines_event += self._process_lines if self.is_global: self._editor_widget.namespace = globals() else: self._editor_widget.namespace = locals() self._result_widget = mixin(WithFixedFont, QPlainTextEdit)(self) # create a horizontal splitter v_splitter = QSplitter(Qt.Horizontal, self) v_splitter.addWidget(self._editor_widget) v_splitter.addWidget(self._result_widget) layout = QVBoxLayout(self) layout.addWidget(v_splitter) layout.setMargin(0) self.setLayout(layout) self.reset() WithSingleIO.__init__(self, params) BaseWidget.__init__(self, params)
def setupViews(self): splitter = QSplitter() self.setupTaskTable() splitter.addWidget(self.taskTableWidget) self.taskViewWidget = taskviewwidget.TaskViewWidget() splitter.addWidget(self.taskViewWidget) splitter.setStretchFactor(0, 0) splitter.setStretchFactor(1, 1) self.setCentralWidget(splitter) self.taskViewWidget.hide() self.msgLabel = QLabel() self.statusBar().addWidget(self.msgLabel)
def __init__(self, client, messageQueue, isLightTheme): QMainWindow.__init__(self) self.client = client self.messageQueue = messageQueue self.isLightTheme = isLightTheme self.__setMenubar() self.chatLog = QTextEdit() self.chatLog.setReadOnly(True) self.chatInput = QTextEdit() self.chatInput.textChanged.connect(self.chatInputTextChanged) self.sendButton = QPushButton("Send") self.sendButton.clicked.connect(self.sendMessage) # Set the min height for the chatlog and a matching fixed height for the send button chatInputFontMetrics = QFontMetrics(self.chatInput.font()) self.chatInput.setMinimumHeight(chatInputFontMetrics.lineSpacing() * 3) self.sendButton.setFixedHeight(chatInputFontMetrics.lineSpacing() * 3) hboxLayout = QHBoxLayout() hboxLayout.addWidget(self.chatInput) hboxLayout.addWidget(self.sendButton) # Put the chatinput and send button in a wrapper widget so they may be added to the splitter chatInputWrapper = QWidget() chatInputWrapper.setLayout(hboxLayout) chatInputWrapper.setMinimumHeight(chatInputFontMetrics.lineSpacing() * 3.7) # Put the chat log and chat input into a splitter so the user can resize them at will splitter = QSplitter(Qt.Vertical) splitter.addWidget(self.chatLog) splitter.addWidget(chatInputWrapper) splitter.setSizes([int(self.height()), 1]) vboxLayout = QVBoxLayout() vboxLayout.addWidget(splitter) # Add the completeted layout to the window self.centralWidget = QWidget() self.centralWidget.setLayout(vboxLayout) self.setCentralWidget(self.centralWidget) qtUtils.resizeWindow(self, 700, 400) qtUtils.centerWindow(self) # Title and icon self.setWindowTitle("Cryptully") self.setWindowIcon(QIcon(utils.getAbsoluteResourcePath('images/' + ('light' if isLightTheme else 'dark') + '/icon.png'))) self.statusBar().showMessage("Not Connected")
def setupViews(self): splitter = QSplitter() self.setupTaskTable() splitter.addWidget(self.taskTableWidget) self.taskViewWidget = taskviewwidget.TaskViewWidget() splitter.addWidget(self.taskViewWidget) splitter.setStretchFactor(0, 0) splitter.setStretchFactor(1, 1) self.setCentralWidget(splitter) self.taskViewWidget.hide() self.msgLabel = QLabel() self.statusBar().addWidget(self.msgLabel)
def initUI(self): layout = QVBoxLayout(self) #Input part input_label = QLabel(inputlabeltext, self) input_label.setWordWrap(True) input_field = QLineEdit("MOM: Oh, good!", self) input_search = QPushButton("Search!", self) splitview = QSplitter(self) splitview.setOrientation(Qt.Vertical) splitview.setChildrenCollapsible(False) #Results list results_label = QLabel(resultslabeltext, self) results_label.setWordWrap(True) results_list = QTreeWidget() results_list.setColumnCount(3) #pointer, refs to pointer, text results_list.header().resizeSection(0, 100) results_list.header().resizeSection(1, 40) results_list.setFocusPolicy(Qt.NoFocus) #results_list.setMaximumSize(QSize(16777215, 100)) stringeditor = self.scripteditcontroller.getview() #Pack all into the layout layout.addWidget(input_label) layout.addWidget(input_field) layout.addWidget(input_search) layout.addWidget(results_label) #layout.addWidget(results_list) #layout.addWidget(stringeditor) splitview.addWidget(results_list) splitview.addWidget(stringeditor) splitview.setSizes([100, 500]) layout.addWidget(splitview) #Connect to actions input_search.clicked.connect(self.searchClick) results_list.itemSelectionChanged.connect(self.resultSelected) #Keeps some elements for later use self.input_field = input_field self.results_list = results_list self.stringeditor = stringeditor #Show the widget self.move(300, 150) self.setWindowTitle('Pokemon GBA String Editor') self.show()
class MainWindow(QMainWindow): def __init__(self, *args): QMainWindow.__init__(self, *args) self.resize(900, 640) self.viewer_3d = KubosViewer(doc_ctrl) self._splitter = QSplitter(Qt.Horizontal) #if appdata.get('mode') == 'script': from _gui.text_edit import TextEdit self.editor = TextEdit() self._splitter.addWidget(self.editor) self._splitter.addWidget(self.viewer_3d) self.setCentralWidget(self._splitter) self.setIconSize(QSize(22, 22)) # if appdata.get('mode') in ['test', 'standard']: self.command_dock_widget = CommandDockWidget() self.addDockWidget(Qt.RightDockWidgetArea, self.command_dock_widget) #if appdata.get('mode') in ['test', 'standard']: self.tool_options_dock = ToolOptionsDock(self) self.addDockWidget(Qt.RightDockWidgetArea, self.tool_options_dock) self.object_details_dock = ObjectDetailsDock(self) self.addDockWidget(Qt.RightDockWidgetArea, self.object_details_dock) self.setWindowIcon(appdata.get('icon')) def closeEvent(self, event): # delayed circular import: import actions.file actions.file.quit_() event.ignore() def keyPressEvent(self, event): if event.key() == Qt.Key_Escape: active_tool.activate_tool(tools.select.select) elif event.key() == Qt.Key_C: self.command_dock_widget.line_edit.setFocus() else: event.ignore() def update_status(self): """Update the text in the status bar""" if appdata.get('mode') not in ['standard', 'test']: return name = active_tool.active_tool.menu[-1].replace('&', '') help = active_tool.active_tool.help[active_tool.active_tool.step] message = name + ' Tool: ' + help self._message_area.show_message(message)
def initUI(self): layout = QVBoxLayout(self) #Input part input_label = QLabel(inputlabeltext, self) input_label.setWordWrap(True) input_field = QLineEdit("MOM: Oh, good!", self) input_search = QPushButton("Search!", self) splitview = QSplitter(self) splitview.setOrientation(Qt.Vertical) splitview.setChildrenCollapsible(False) #Results list results_label = QLabel(resultslabeltext, self) results_label.setWordWrap(True) results_list = QTreeWidget() results_list.setColumnCount(3) #pointer, refs to pointer, text results_list.header().resizeSection(0, 100) results_list.header().resizeSection(1, 40) results_list.setFocusPolicy(Qt.NoFocus) #results_list.setMaximumSize(QSize(16777215, 100)) stringeditor = self.scripteditcontroller.getview() #Pack all into the layout layout.addWidget(input_label) layout.addWidget(input_field) layout.addWidget(input_search) layout.addWidget(results_label) #layout.addWidget(results_list) #layout.addWidget(stringeditor) splitview.addWidget(results_list) splitview.addWidget(stringeditor) splitview.setSizes([100, 500]) layout.addWidget(splitview) #Connect to actions input_search.clicked.connect(self.searchClick) results_list.itemSelectionChanged.connect(self.resultSelected) #Keeps some elements for later use self.input_field = input_field self.results_list = results_list self.stringeditor = stringeditor #Show the widget self.move(300, 150) self.setWindowTitle('Pokemon GBA String Editor') self.show()
class NodesMapWidget(QWidget): def __init__(self): QWidget.__init__(self) self.inversedGeoCoder = InversedGeoCoder() self.vfs = VFS.Get() self.mainWindow = QApplication.instance().mainWindow self.vboxLayout = QVBoxLayout(self) self.vboxLayout.setSpacing(0) self.vboxLayout.setMargin(0) self.setLayout(self.vboxLayout) self.splitter = QSplitter() self.mapWidget = QGoogleMap(self) self.mapWidget.markerClicked.connect(self.markerClicked) self.mapWidget.waitUntilReady() self.splitter.addWidget(self.mapWidget) self.nodesAddressWidget = NodesAddressWidget(self) self.connect(self.nodesAddressWidget, SIGNAL("center"), self.center) self.splitter.addWidget(self.nodesAddressWidget) self.vboxLayout.addWidget(self.splitter) self.mapWidget.centerAt(43.776037, -31.330157) self.mapWidget.setZoom(3) def center(self, coord): self.mapWidget.centerAt(*coord) self.mapWidget.setZoom(14) def addNodeCoord(self, node, coord): ( latitude, longitude, ) = self.nodeCoord[node] res = self.mapWidget.addMarker( str(node.uid()), latitude, longitude, **dict(icon="http://google.com/mapfiles/ms/micons/green-dot.png", draggable=False, name=node.name())) try: decoded = self.inversedGeoCoder.decode(coord) except Exception as e: #limit usage or somethings else decoded = None self.nodesAddressWidget.addNodeAddress(node, Address(decoded, coord)) def markerClicked(self, key): nodeuid = long(key) node = self.vfs.getNodeById(nodeuid) self.mainWindow.emit(SIGNAL("previewUpdate"), node) self.nodesAddressWidget.emit(SIGNAL("focusOnNode"), nodeuid)
def __init__(self, parent=0, *args, **kwargs): super(DebtsViewWidget, self).__init__(parent=parent, *args, **kwargs) self.parent = parent self.parentWidget().setWindowTitle(Config.NAME_ORGA + u"Gestion des dettes") hbox = QHBoxLayout(self) # self.balace_box = QGridLayout(self) # self.balace_box.addWidget(FLabel(u"Reste à payer :"), 0, 2) # self.balace_box.setRowStretch(1, 2) self.remaining_box = FLabel() self.remaining_box.setMaximumHeight(40) self.table_debt = DebtsTableWidget(parent=self) self.table_provid_clt = ProviderOrClientTableWidget(parent=self) self.search_field = LineEdit() self.search_field.textChanged.connect(self.search) self.search_field.setPlaceholderText(u"Nom ou numéro tel") self.search_field.setMaximumHeight(40) splitter = QSplitter(Qt.Horizontal) self.splitter_left = QSplitter(Qt.Vertical) self.splitter_left.addWidget(self.search_field) self.splitter_left.addWidget(self.table_provid_clt) splt_clt = QSplitter(Qt.Vertical) splt_clt.addWidget(self.remaining_box) splt_clt.addWidget(self.table_debt) splt_clt.resize(900, 1000) splitter.addWidget(self.splitter_left) splitter.addWidget(splt_clt) hbox.addWidget(splitter) self.setLayout(hbox)
def g_display(self): QWidget.__init__(self, None) vlayout = QVBoxLayout() splitter = QSplitter(Qt.Horizontal) treemodel = RegTreeModel(self) treeview = RegTreeView(self) keyinfo = KeyInfoView(self, treemodel) tablevalue = TableValue(treemodel, self) treeview.setModel(treemodel) splitter.addWidget(treeview) splitter.addWidget(tablevalue) vlayout.addWidget(splitter) vlayout.addWidget(keyinfo) self.setLayout(vlayout)
def g_display(self): QWidget.__init__(self, None) vlayout = QVBoxLayout() splitter = QSplitter(Qt.Horizontal) treemodel = RegTreeModel(self) treeview = RegTreeView(self) keyinfo = KeyInfoView(self, treemodel) tablevalue = TableValue(treemodel, self) treeview.setModel(treemodel) splitter.addWidget(treeview) splitter.addWidget(tablevalue) vlayout.addWidget(splitter) vlayout.addWidget(keyinfo) self.setLayout(vlayout)
class Window(QWidget): def __init__(self): super().__init__() self.setMinimumSize(1024, 600) self.setWindowTitle("QWebview-plus for Kiwoom") self.view = KiwoomWebViewPlus() self.splitter = QSplitter(self) self.splitter.setOrientation(Qt.Horizontal) layout = QVBoxLayout(self) layout.setMargin(0) layout.addWidget(self.splitter) self.splitter.addWidget(self.view) self.splitter.addWidget(self.view.webInspector)
def __init_widgets__(self): """ Initialise the widgets of the window. """ # The Address/Attachment portion of the window self.attach_model = MessageAttachmentModel() attach_list = QListView() attach_list.setModel(self.attach_model) tab_bar_pxm = QPixmap('res/msg_tabbar_r.png') self.tab_bar = QTabWidget() self.tab_bar.setTabPosition(2) self.tab_bar.setIconSize(QSize(16, 16)) self.tab_bar.addTab(QWidget(), QIcon(tab_bar_pxm.copy(0, 0, 16, 16)), '') self.tab_bar.addTab(attach_list, QIcon(tab_bar_pxm.copy(0, 16, 16, 16)), '') # The Composition Properties portion of the window self.subject_line = QLineEdit() self.subject_line.setPlaceholderText('Subject') QObject.connect(self.subject_line, SIGNAL('textEdited(QString)'), self.update_title) priority_label = QLabel('Priority:') priority_dropdown = QComboBox(self) priority_dropdown.addItems( ['Highest', 'High', 'Normal', 'Low', 'Lowest']) subject_prio_layout = QHBoxLayout() subject_prio_layout.addWidget(self.subject_line) # subject_prio_layout.addStretch(1) subject_prio_layout.addWidget(priority_label) subject_prio_layout.addWidget(priority_dropdown) # The actual Composition portion of the window self.message = MessageTextEdit(self) # The bottom pane bottom_pane_layout = QVBoxLayout() bottom_pane_layout.addLayout(subject_prio_layout) bottom_pane_layout.addWidget(self.message) bottom_pane = QWidget() bottom_pane.setLayout(bottom_pane_layout) # Central widget is the splitter splitter = QSplitter() splitter.setOrientation(2) splitter.addWidget(self.tab_bar) splitter.addWidget(bottom_pane) self.setCentralWidget(splitter)
def __setup_ui(self): self.resize(1024, 768) self.__setup_menu() split = QSplitter() self.__yt_tree_widget = YtTreeWidget() split.addWidget(self.__yt_tree_widget) self.__data_widget = DataWidget() split.addWidget(self.__data_widget) split.setHandleWidth(2) split.setStretchFactor(0, 1) split.setStretchFactor(1, 200) self.setCentralWidget(split)
class DebtsViewWidget(FWidget): """ Shows the home page """ def __init__(self, parent=0, *args, **kwargs): super(DebtsViewWidget, self).__init__(parent=parent, *args, **kwargs) self.parent = parent self.parentWidget().setWindowTitle(Config.NAME_ORGA + u"Gestion des dettes") hbox = QHBoxLayout(self) # self.balace_box = QGridLayout(self) # self.balace_box.addWidget(FLabel(u"Reste à payer :"), 0, 2) # self.balace_box.setRowStretch(1, 2) self.remaining_box = FLabel() self.remaining_box.setMaximumHeight(40) self.table_debt = DebtsTableWidget(parent=self) self.table_provid_clt = ProviderOrClientTableWidget(parent=self) self.search_field = LineEdit() self.search_field.textChanged.connect(self.search) self.search_field.setPlaceholderText(u"Nom ou numéro tel") self.search_field.setMaximumHeight(40) splitter = QSplitter(Qt.Horizontal) self.splitter_left = QSplitter(Qt.Vertical) self.splitter_left.addWidget(self.search_field) self.splitter_left.addWidget(self.table_provid_clt) splt_clt = QSplitter(Qt.Vertical) splt_clt.addWidget(self.remaining_box) splt_clt.addWidget(self.table_debt) splt_clt.resize(900, 1000) splitter.addWidget(self.splitter_left) splitter.addWidget(splt_clt) hbox.addWidget(splitter) self.setLayout(hbox) def search(self): self.table_provid_clt.refresh_(self.search_field.text()) def new_refund(self, provid_clt): from ui.refund_edit_add import RefundEditAddDialog self.parent.open_dialog(RefundEditAddDialog, modal=True, type_=Refund.RB, provid_clt=provid_clt, table_p=self.table_debt)
def __init__(self, connectionManager, parent=None): QWidget.__init__(self, parent) self.connectionManager = connectionManager self.isDisabled = False self.wasCleared = False self.urlRegex = re.compile(constants.URL_REGEX) self.chatLog = QTextBrowser() self.chatLog.setOpenExternalLinks(True) self.chatInput = QTextEdit() self.chatInput.textChanged.connect(self.chatInputTextChanged) self.sendButton = QPushButton("Send") self.sendButton.clicked.connect(self.sendMessage) # Set the min height for the chatlog and a matching fixed height for the send button chatInputFontMetrics = QFontMetrics(self.chatInput.font()) self.chatInput.setMinimumHeight(chatInputFontMetrics.lineSpacing() * 3) self.sendButton.setFixedHeight(chatInputFontMetrics.lineSpacing() * 3) hbox = QHBoxLayout() hbox.addWidget(self.chatInput) hbox.addWidget(self.sendButton) # Put the chatinput and send button in a wrapper widget so they may be added to the splitter chatInputWrapper = QWidget() chatInputWrapper.setLayout(hbox) chatInputWrapper.setMinimumHeight(chatInputFontMetrics.lineSpacing() * 3.7) # Put the chat log and chat input into a splitter so the user can resize them at will splitter = QSplitter(Qt.Vertical) splitter.addWidget(self.chatLog) splitter.addWidget(chatInputWrapper) splitter.setSizes([int(parent.height()), 1]) hbox = QHBoxLayout() hbox.addWidget(splitter) self.setLayout(hbox) self.typingTimer = QTimer() self.typingTimer.setSingleShot(True) self.typingTimer.timeout.connect(self.stoppedTyping)
def create_layout(self): self.setCentralWidget(self.dual_img_) splitter = QSplitter(Qt.Vertical) splitter.addWidget(self.corr_list_) splitter.addWidget(self.pair_list_) self.dock(splitter, Qt.LeftDockWidgetArea, title="Correspondences") wpanel = QWidget() hpanel = QHBoxLayout(wpanel) hpanel.addWidget(self.prev_button_) hpanel.addWidget(self.next_button_) hpanel.addWidget(self.status_msg_) hpanel.addStretch() wpanel.setLayout(hpanel) bot = self.dock(wpanel, Qt.BottomDockWidgetArea) bot.setFeatures(bot.features() & QDockWidget.NoDockWidgetFeatures)
def __init__(self, connectionManager, parent=None): QWidget.__init__(self, parent) self.connectionManager = connectionManager self.isDisabled = False self.wasCleared = False self.urlRegex = re.compile(constants.URL_REGEX) self.chatLog = QTextBrowser() self.chatLog.setOpenExternalLinks(True) self.chatInput = QTextEdit() self.chatInput.textChanged.connect(self.chatInputTextChanged) self.sendButton = QPushButton("Send") self.sendButton.clicked.connect(self.sendMessage) # Set the min height for the chatlog and a matching fixed height for the send button chatInputFontMetrics = QFontMetrics(self.chatInput.font()) self.chatInput.setMinimumHeight(chatInputFontMetrics.lineSpacing() * 3) self.sendButton.setFixedHeight(chatInputFontMetrics.lineSpacing() * 3) hbox = QHBoxLayout() hbox.addWidget(self.chatInput) hbox.addWidget(self.sendButton) # Put the chatinput and send button in a wrapper widget so they may be added to the splitter chatInputWrapper = QWidget() chatInputWrapper.setLayout(hbox) chatInputWrapper.setMinimumHeight(chatInputFontMetrics.lineSpacing() * 3.7) # Put the chat log and chat input into a splitter so the user can resize them at will splitter = QSplitter(Qt.Vertical) splitter.addWidget(self.chatLog) splitter.addWidget(chatInputWrapper) splitter.setSizes([int(parent.height()), 1]) hbox = QHBoxLayout() hbox.addWidget(splitter) self.setLayout(hbox) self.typingTimer = QTimer() self.typingTimer.setSingleShot(True) self.typingTimer.timeout.connect(self.stoppedTyping)
def __init__(self, parent=None): QDialog.__init__(self, parent) # Destroying the C++ object right after closing the dialog box, # otherwise it may be garbage-collected in another QThread # (e.g. the editor's analysis thread in Spyder), thus leading to # a segmentation fault on UNIX or an application crash on Windows self.setAttribute(Qt.WA_DeleteOnClose) self.contents_widget = QListWidget() self.contents_widget.setMovement(QListView.Static) self.contents_widget.setSpacing(1) bbox = QDialogButtonBox(QDialogButtonBox.Ok|QDialogButtonBox.Apply |QDialogButtonBox.Cancel) self.apply_btn = bbox.button(QDialogButtonBox.Apply) self.connect(bbox, SIGNAL("accepted()"), SLOT("accept()")) self.connect(bbox, SIGNAL("rejected()"), SLOT("reject()")) self.connect(bbox, SIGNAL("clicked(QAbstractButton*)"), self.button_clicked) self.pages_widget = QStackedWidget() self.connect(self.pages_widget, SIGNAL("currentChanged(int)"), self.current_page_changed) self.connect(self.contents_widget, SIGNAL("currentRowChanged(int)"), self.pages_widget.setCurrentIndex) self.contents_widget.setCurrentRow(0) hsplitter = QSplitter() hsplitter.addWidget(self.contents_widget) hsplitter.addWidget(self.pages_widget) btnlayout = QHBoxLayout() btnlayout.addStretch(1) btnlayout.addWidget(bbox) vlayout = QVBoxLayout() vlayout.addWidget(hsplitter) vlayout.addLayout(btnlayout) self.setLayout(vlayout) self.setWindowTitle(_("Preferences")) self.setWindowIcon(get_icon("configure.png"))
def test_splitter_resizer(self): w = QSplitter(orientation=Qt.Vertical) w.addWidget(QWidget()) text = QTextEdit() w.addWidget(text) resizer = SplitterResizer(w) resizer.setSplitterAndWidget(w, text) def toogle(): if resizer.size() == 0: resizer.open() else: resizer.close() self.singleShot(1000, toogle) w.show() self.singleShot(0, toogle) self.app.exec_()
class DebuggerBreakWatchPoints(QWidget): " Implements the debugger break and watch point viewer " def __init__(self, parent, debugger): QWidget.__init__(self, parent) self.__debugger = debugger self.__createLayout() return def __createLayout(self): " Creates the widget layout " verticalLayout = QVBoxLayout(self) verticalLayout.setContentsMargins(1, 1, 1, 1) self.splitter = QSplitter(Qt.Vertical) self.breakPointViewer = BreakPointViewer( self.splitter, self.__debugger.getBreakPointModel()) self.__watchPointViewer = WatchPointViewer( self.splitter, self.__debugger.getWatchPointModel()) # TODO: temporary self.__watchPointViewer.setVisible(False) self.splitter.addWidget(self.breakPointViewer) self.splitter.addWidget(self.__watchPointViewer) self.splitter.setCollapsible(0, False) self.splitter.setCollapsible(1, False) verticalLayout.addWidget(self.splitter) return def clear(self): " Clears everything " self.breakPointViewer.clear() self.__watchPointViewer.clear() return def setFocus(self): " Sets the focus to the break points window " self.breakPointViewer.setFocus() return
class DebuggerBreakWatchPoints( QWidget ): " Implements the debugger break and watch point viewer " def __init__( self, parent, debugger ): QWidget.__init__( self, parent ) self.__debugger = debugger self.__createLayout() return def __createLayout( self ): " Creates the widget layout " verticalLayout = QVBoxLayout( self ) verticalLayout.setContentsMargins( 1, 1, 1, 1 ) self.splitter = QSplitter( Qt.Vertical ) self.breakPointViewer = BreakPointViewer( self.splitter, self.__debugger.getBreakPointModel() ) self.__watchPointViewer = WatchPointViewer( self.splitter, self.__debugger.getWatchPointModel() ) # TODO: temporary self.__watchPointViewer.setVisible( False ) self.splitter.addWidget( self.breakPointViewer ) self.splitter.addWidget( self.__watchPointViewer ) self.splitter.setCollapsible( 0, False ) self.splitter.setCollapsible( 1, False ) verticalLayout.addWidget( self.splitter ) return def clear( self ): " Clears everything " self.breakPointViewer.clear() self.__watchPointViewer.clear() return def setFocus( self ): " Sets the focus to the break points window " self.breakPointViewer.setFocus() return
def __init__(self): QMainWindow.__init__(self) self.resize(700, 500) self.setWindowTitle('vispy example ...') splitter = QSplitter(Qt.Horizontal) self.canvas = Canvas() self.canvas.create_native() self.canvas.native.setParent(self) self.props = ObjectWidget() splitter.addWidget(self.props) splitter.addWidget(self.canvas.native) self.setCentralWidget(splitter) self.props.signal_object_changed.connect(self.update_view) self.update_view()
def createWidgets(self): """ QtWidgets creation _______________________ | | | PyEditor | |_______________________| |________QSplitter______| | | | PyEditor | |_______________________| """ self.srcWidget = EditorWidget( self.TEST_DEF_EDITOR, "Test Definition:", self, wrappingText=QtHelper.str2bool( Settings.instance().readValue(key='Editor/code-wrapping'))) self.execWidget = EditorWidget( self.TEST_EXEC_EDITOR, "Test Execution:", self, wrappingText=QtHelper.str2bool( Settings.instance().readValue(key='Editor/code-wrapping')), toolbar=False) self.srcEditor = self.srcWidget.editor self.execEditor = self.execWidget.editor layout = QVBoxLayout() hSplitter = QSplitter(self) hSplitter.setOrientation(Qt.Vertical) hSplitter.addWidget(self.srcWidget) hSplitter.addWidget(self.execWidget) hSplitter.setContentsMargins(0, 0, 0, 0) hSplitter.setStretchFactor(0, 1) layout.addWidget(hSplitter) layout.setContentsMargins(2, 0, 0, 0) self.setLayout(layout)
class DebtsViewWidget(FWidget): """ Shows the home page """ def __init__(self, parent=0, *args, **kwargs): super(DebtsViewWidget, self).__init__(parent=parent, *args, **kwargs) self.parent = parent self.parentWidget().setWindowTitle( Config.NAME_ORGA + u"Gestion des dettes") hbox = QHBoxLayout(self) self.table_debt = DebtsTableWidget(parent=self) self.table_provid_clt = ProviderOrClientTableWidget(parent=self) self.search_field = LineEdit() self.search_field.textChanged.connect(self.search) self.search_field.setPlaceholderText(u"Nom ou numéro tel") splitter = QSplitter(Qt.Horizontal) self.splitter_left = QSplitter(Qt.Vertical) self.splitter_left.addWidget(self.search_field) self.splitter_left.addWidget(self.table_provid_clt) splt_clt = QSplitter(Qt.Vertical) splt_clt.addWidget(self.table_debt) splt_clt.resize(900, 1000) splitter.addWidget(self.splitter_left) splitter.addWidget(splt_clt) hbox.addWidget(splitter) self.setLayout(hbox) def search(self): self.table_provid_clt.refresh_(self.search_field.text()) def new_refund(self, provid_clt): from ui.refund_edit_add import RefundEditAddDialog self.parent.open_dialog( RefundEditAddDialog, modal=True, type_=Refund.RB, provid_clt=provid_clt, table_p=self.table_debt)
def _initUI(self): layout = QVBoxLayout(self) split = QSplitter(Qt.Vertical, self) layout.setContentsMargins(0, 0, 0, 0) console = QTreeView(self) console.setSortingEnabled(False) console.setHeaderHidden(False) console.setAlternatingRowColors(True) console.setIndentation(0) console.setUniformRowHeights(True) console.setObjectName(u"__console_log") console.setFrameShape(QFrame.StyledPanel) #if getPlatform() == PLATFORM_MAC: # console.setStyleSheet("QFrame#__console_log{border-width: 1px; border-top-style: none; border-right-style: none; border-bottom-style: solid; border-left-style: none; border-color:palette(mid)}"); console.setModel(self._logModel) console.header().setStretchLastSection(False) console.header().setResizeMode(3, QHeaderView.Stretch) console.selectionModel().selectionChanged.connect(self._selectionChanged) split.addWidget(console) detailsWidget = QWidget(self) detailsLayout = QVBoxLayout(detailsWidget) detailsLayout.setContentsMargins(0, 0, 0, 0) detailsLayout.setSpacing(0) detailsLayout.addWidget(QLabel(u"Details:", self)) self._detailsView = QTextEdit(self) self._detailsView.setReadOnly(True) self._detailsView.setWordWrapMode(QTextOption.NoWrap) detailsLayout.addWidget(self._detailsView, 1) split.addWidget(detailsWidget) layout.addWidget(split, 1)
class UIWellPlotPG(QtCore.QObject): def setupUI(self): self.mainWidget = WellPlotWidget() vBox = QtGui.QVBoxLayout() self.splitter = QSplitter(QtCore.Qt.Vertical) self.headerScrollArea = QScrollArea() self.headerScrollArea.setVerticalScrollBarPolicy( QtCore.Qt.ScrollBarAlwaysOn) self.headerScrollArea.setHorizontalScrollBarPolicy( QtCore.Qt.ScrollBarAlwaysOff) self.headerScrollArea.setWidgetResizable(False) self.scrollArea = QScrollArea() self.scrollArea.setVerticalScrollBarPolicy( QtCore.Qt.ScrollBarAlwaysOff) self.scrollArea.setHorizontalScrollBarPolicy( QtCore.Qt.ScrollBarAlwaysOn) #Needs to be true to allow widget in scroll area size to change self.scrollArea.setWidgetResizable(True) #self.scrollArea.setWidget(self.dataWidget) #see http://stackoverflow.com/questions/29583927/pyqt-qscrollarea-within-qscrollarea/29584939#29584939 self.scrollArea.horizontalScrollBar().valueChanged.connect( self.headerScrollArea.horizontalScrollBar().setValue) self.splitter.addWidget(self.headerScrollArea) self.splitter.addWidget(self.scrollArea) #test hBox = QtGui.QHBoxLayout() #set parent so can access it for widget sizing self.scaleWidget = QWidget() self.scaleWidgetLayout = QtGui.QVBoxLayout() self.scaleWidget.setLayout(self.scaleWidgetLayout) self.scaleWidget.setMinimumWidth(30) hBox.addWidget(self.splitter, 1) hBox.addWidget(self.scaleWidget) self.mainWidget.setLayout(hBox) #end test '''
def g_display(self): QWidget.__init__(self) layout = QHBoxLayout(self) splitter = QSplitter() layout.addWidget(splitter) splitter.setOrientation(Qt.Horizontal) if self.node is not None: processus_manager = ModuleProcessusManager() evt = processus_manager.get('evt') if not self.preview: self.evtWidget = evt.getAllEvtFiles() if self.evtWidget: splitter.addWidget(self.evtWidget) splitter.setStretchFactor(1, 2) else: self.evtWidget = evt.previewWidget(long(self.node.this)) if self.evtWidget: splitter.addWidget(self.evtWidget)
def __init__(self, parent=0, *args, **kwargs): super(DebtsViewWidget, self).__init__(parent=parent, *args, **kwargs) self.parent = parent self.parentWidget().setWindowTitle( Config.NAME_ORGA + u"Gestion des dettes") hbox = QHBoxLayout(self) self.table_debt = DebtsTableWidget(parent=self) self.table_provid_clt = ProviderOrClientTableWidget(parent=self) self.search_field = LineEdit() self.search_field.textChanged.connect(self.search) self.search_field.setPlaceholderText(u"Nom ou numéro tel") splitter = QSplitter(Qt.Horizontal) self.splitter_left = QSplitter(Qt.Vertical) self.splitter_left.addWidget(self.search_field) self.splitter_left.addWidget(self.table_provid_clt) splt_clt = QSplitter(Qt.Vertical) splt_clt.addWidget(self.table_debt) splt_clt.resize(900, 1000) splitter.addWidget(self.splitter_left) splitter.addWidget(splt_clt) hbox.addWidget(splitter) self.setLayout(hbox)
def _create_central_widget(self): tabs = QTabWidget() splitter = QSplitter() self.treeview = QTreeView() self.treeview.header().hide() self.treeview.resize(500, 0) splitter.addWidget(self.treeview) self.editwidget = QWidget() self.editwidget.setLayout(QVBoxLayout()) self.editwidget.resize(300, 300) self.editwidget.setMinimumSize(300, 100) splitter.addWidget(self.editwidget) self.glwidget = GLWidget() splitter.addWidget(self.glwidget) splitter.setStretchFactor(0, 2) splitter.setStretchFactor(1, 2) splitter.setStretchFactor(2, 4) tabs.addTab(splitter, "Mesh") tabs.addTab(self._create_run(), "Run") self.setCentralWidget(tabs)
def __init__(self, parent=None): super().__init__(parent) # setup menu bar exitItem = QAction('Exit', self) exitItem.setShortcut('Ctrl+Q') exitItem.setStatusTip('Exit application') exitItem.triggered.connect(self.close) menuBar = self.menuBar() fileMenu = menuBar.addMenu('&File') fileMenu.addAction(exitItem) # setup widgets self.model = ProcTableModel(self) self.procTable = ProcTableWidget(self.model) self.procTable.clicked.connect(self.showDescriptors) self.handlesTable = QTableWidget() self.handlesTable.setColumnCount(2) self.handlesTable.setHorizontalHeaderLabels(('Type', 'Object Name')) self.handlesTable.verticalHeader().setVisible(False) self.handlesTable.setShowGrid(False) self.handlesTable.setSelectionBehavior(QTableWidget.SelectRows) self.handlesTable.horizontalHeader().setStretchLastSection(True) # TODO: find a way to get the row height from the QTreeView self.handlesTable.verticalHeader().setDefaultSectionSize(24) mainSplitter = QSplitter(Qt.Vertical) mainSplitter.addWidget(self.procTable) mainSplitter.addWidget(self.handlesTable) self.setCentralWidget(mainSplitter) desktopGeometry = QApplication.desktop().screenGeometry() self.setGeometry(0, 0, 1280, 700) self.move((desktopGeometry.width() - self.width()) / 2, (desktopGeometry.height() - self.height()) / 2) self.setWindowTitle('Linux Process Explorer') # find handle dialog self.findDialog = None
def __init__(self, parent=None): super(Lectern, self).__init__(parent) self.anchor = None self.initMainMenu() self.initToolbar() splitter = QSplitter() self.tocView = QTreeView() self.tocView.clicked.connect(self.navTo) self.tocModel = TableOfContents() self.tocModel.isEmpty.connect(self.handleTOCLoad) self.tocView.setModel(self.tocModel) self.tocView.expandAll() self.tocView.hide() splitter.addWidget(self.tocView) self.webView = QGraphicsWebView() frame = self.webView.page().mainFrame() scene = QGraphicsScene() scene.addItem(self.webView) self.graphicsView = GraphicsView(scene) self.graphicsView.setFrameShape(QFrame.NoFrame) glWidget = QGLWidget(self) self.graphicsView.setViewport(glWidget) self.webView.loadFinished.connect(self.handleLoad) splitter.addWidget(self.graphicsView) self.setCentralWidget(splitter) self.ebook_info = {} self.setWindowTitle('Lectern') try: self.ebook_info = self.openBook(QApplication.arguments()[1]) except IndexError: pass
def _create_run(self): run = QSplitter() buttons = QWidget() layout = QVBoxLayout() buttons.setLayout(layout) button = QPushButton("Run blockMesh") button.clicked.connect(self.shampoo.run) layout.addWidget(button) button_terminate = QPushButton("Terminate") button_terminate.clicked.connect(self.shampoo.run) button_terminate.setEnabled(False) layout.addWidget(button_terminate) layout.addSpacerItem( QSpacerItem(0, 0, QSizePolicy.Expanding, QSizePolicy.Expanding)) run.addWidget(buttons) self.console = Console() run.addWidget(self.console) return run
def __init__(self): QMainWindow.__init__(self) self.setWindowIcon(get_icon('python.png')) self.setWindowTitle("Application example") # Instantiate dataset-related widgets: # self.groupbox1 = DataSetShowGroupBox("Activable dataset", # ExampleDataSet, comment='') self.groupbox2 = DataSetShowGroupBox("Temperatur", AnotherDataSet, comment='') self.groupbox3 = DataSetEditGroupBox("Standard dataset", ExampleMultiGroupDataSet, comment='') # self.groupbox4 = DataSetShowGroupBox("Standard dataset", # ExampleMultiGroupDataSet, comment='') # self.connect(self.groupbox3, SIGNAL("apply_button_clicked()"), # self.update_window) # self.update_groupboxes() splitter = QSplitter(self) # splitter.addWidget(self.groupbox1) splitter.addWidget(self.groupbox2) splitter.addWidget(self.groupbox3) # splitter.addWidget(self.groupbox4) self.setCentralWidget(splitter) self.setContentsMargins(10, 5, 10, 5) # File menu file_menu = self.menuBar().addMenu("File") quit_action = create_action(self, "Quit", shortcut="Ctrl+Q", icon=get_std_icon("DialogCloseButton"), tip="Quit application", triggered=self.close) add_actions(file_menu, (quit_action, )) # Edit menu edit_menu = self.menuBar().addMenu("Edit")
class StatusBarWidget(QWidget): SplitterHandleStyle = """QSplitter::handle:horizontal {background: qlineargradient(x1:0, y1:0, x2:1, y2:1, stop:0 #eee, stop:1 #ccc); border: 1px solid #777; width: 14px; margin-right: 4px; margin-left: 4px;}""" def __init__(self, parent=None): super(QWidget, self).__init__(parent) sizePolicy = QSizePolicy(QSizePolicy.Minimum, QSizePolicy.Minimum) sizePolicy.setHorizontalStretch(1) sizePolicy.setVerticalStretch(1) self.setSizePolicy(sizePolicy) self.__hlayout = QHBoxLayout(self) self.__hlayout.setSpacing(6) self.__hlayout.setSizeConstraint(QLayout.SetMinimumSize) self.__hlayout.setMargin(0) self.__splitter = QSplitter(Qt.Horizontal, parent) self.__splitter.setHandleWidth(12) self.__hlayout.addWidget(self.__splitter) def addStatusWidget(self, widget, stretch): self.__splitter.setStyleSheet(StatusBarWidget.SplitterHandleStyle) self.__splitter.addWidget(widget) idx = self.__splitter.indexOf(widget) self.__splitter.setStretchFactor(idx, stretch)
def __init__(self): QMainWindow.__init__(self) self.resize(300, 300) self.setWindowTitle('MeshVisual example') self.initActions() self.initMenus() # Central Widget splitter1 = QSplitter(Qt.Horizontal) self.propsWidget = SphereWidget() self.canvas = SphereCanvas(param=self.propsWidget.param) self.canvas.create_native() self.canvas.native.setParent(self) self.propsWidget.signalObjetChanged.connect(self.canvas.updateView) splitter1.addWidget(self.propsWidget) splitter1.addWidget(self.canvas.native) self.setCentralWidget(splitter1) self.canvas.updateView(self.propsWidget.param)
def splitViewSpace(self, viewspace, orientation): """Split the given view. If orientation == Qt.Horizontal, adds a new view to the right. If orientation == Qt.Vertical, adds a new view to the bottom. """ active = viewspace is self.activeViewSpace() splitter = viewspace.parentWidget() newspace = ViewSpace(self) if splitter.count() == 1: splitter.setOrientation(orientation) size = splitter.sizes()[0] splitter.addWidget(newspace) splitter.setSizes([size / 2, size / 2]) elif splitter.orientation() == orientation: index = splitter.indexOf(viewspace) splitter.insertWidget(index + 1, newspace) else: index = splitter.indexOf(viewspace) newsplitter = QSplitter() newsplitter.setOrientation(orientation) sizes = splitter.sizes() splitter.insertWidget(index, newsplitter) newsplitter.addWidget(viewspace) splitter.setSizes(sizes) size = newsplitter.sizes()[0] newsplitter.addWidget(newspace) newsplitter.setSizes([size / 2, size / 2]) self._viewSpaces.insert(0, newspace) newspace.showDocument(viewspace.document()) if active: newspace.activeView().setFocus() self.actionCollection.window_close_view.setEnabled(self.canCloseViewSpace()) self.actionCollection.window_close_others.setEnabled(self.canCloseViewSpace())
def setupViews2(self): self.setupTaskTable() msplitter = QSplitter(Qt.Horizontal) msplitter.addWidget(self.taskTableWidget) rsplitter = QSplitter(Qt.Vertical, msplitter) self.setupResultTable() rsplitter.addWidget(self.reservResultTable) self.taskViewWidget = taskviewwidget.TaskViewWidget() rsplitter.addWidget(self.taskViewWidget) self.setCentralWidget(msplitter) self.msgLabel = QLabel() self.statusBar().addWidget(self.msgLabel)
class ContactViewWidget(FWidget): """ Shows the home page """ def __init__(self, parent=0, *args, **kwargs): super(ContactViewWidget, self).__init__(parent=parent, *args, **kwargs) self.parent = parent self.parentWidget().setWindowTitle(Config.NAME_ORGA + u"Carnet d'adresse") hbox = QHBoxLayout(self) self.table_contact = ContactTableWidget(parent=self) self.table_group = GroupTableWidget(parent=self) self.table_transf = TransfTableWidget(parent=self) self.operation = OperationWidget(parent=self) splitter = QSplitter(Qt.Horizontal) self.splitter_left = QSplitter(Qt.Vertical) self.splitter_left.addWidget(FBoxTitle(u"Les groupes")) self.splitter_left.addWidget(self.table_group) splitter_details = QSplitter(Qt.Horizontal) splitter_down = QSplitter(Qt.Vertical) splitter_down.addWidget(self.operation) splitter_transf = QSplitter(Qt.Horizontal) splitter_transf.addWidget(self.table_transf) splt_contact = QSplitter(Qt.Vertical) splt_contact.addWidget(FBoxTitle(u"Les contactes")) splt_contact.addWidget(self.table_contact) splt_contact.resize(900, 1000) self.splitter_left.addWidget(splitter_down) splitter_details.addWidget(splitter_transf) splt_contact.addWidget(splitter_details) splitter.addWidget(self.splitter_left) splitter.addWidget(splt_contact) hbox.addWidget(splitter) self.setLayout(hbox)