def __init__(self, parent=None):
        super().__init__(parent)

        self.setupUi(self)
 
        QtAds.CDockManager.setConfigFlag(QtAds.CDockManager.OpaqueSplitterResize, True)
        QtAds.CDockManager.setConfigFlag(QtAds.CDockManager.XmlCompressionEnabled, False)
        QtAds.CDockManager.setConfigFlag(QtAds.CDockManager.FocusHighlighting, True)
        self.dock_manager = QtAds.CDockManager(self)
        
        # Set central widget
        text_edit = QPlainTextEdit()
        text_edit.setPlaceholderText("This is the central editor. Enter your text here.")
        central_dock_widget = QtAds.CDockWidget("CentralWidget")
        central_dock_widget.setWidget(text_edit)
        central_dock_area = self.dock_manager.setCentralWidget(central_dock_widget)
        central_dock_area.setAllowedAreas(QtAds.DockWidgetArea.OuterDockAreas)
        
        # create other dock widgets
        table = QTableWidget()
        table.setColumnCount(3)
        table.setRowCount(10)
        table_dock_widget = QtAds.CDockWidget("Table 1")
        table_dock_widget.setWidget(table)
        table_dock_widget.setMinimumSizeHintMode(QtAds.CDockWidget.MinimumSizeHintFromDockWidget)
        table_dock_widget.resize(250, 150)
        table_dock_widget.setMinimumSize(200, 150)
        table_area = self.dock_manager.addDockWidget(QtAds.DockWidgetArea.LeftDockWidgetArea, table_dock_widget)
        self.menuView.addAction(table_dock_widget.toggleViewAction())
        
        table = QTableWidget()
        table.setColumnCount(5)
        table.setRowCount(1020)
        table_dock_widget = QtAds.CDockWidget("Table 2")
        table_dock_widget.setWidget(table)
        table_dock_widget.setMinimumSizeHintMode(QtAds.CDockWidget.MinimumSizeHintFromDockWidget)
        table_dock_widget.resize(250, 150)
        table_dock_widget.setMinimumSize(200, 150)
        table_area = self.dock_manager.addDockWidget(QtAds.DockWidgetArea.BottomDockWidgetArea, table_dock_widget, table_area)
        self.menuView.addAction(table_dock_widget.toggleViewAction())

        properties_table = QTableWidget()
        properties_table.setColumnCount(3)
        properties_table.setRowCount(10)
        properties_dock_widget = QtAds.CDockWidget("Properties")
        properties_dock_widget.setWidget(properties_table)
        properties_dock_widget.setMinimumSizeHintMode(QtAds.CDockWidget.MinimumSizeHintFromDockWidget)
        properties_dock_widget.resize(250, 150)
        properties_dock_widget.setMinimumSize(200, 150)
        self.dock_manager.addDockWidget(QtAds.DockWidgetArea.RightDockWidgetArea, properties_dock_widget, central_dock_area)
        self.menuView.addAction(properties_dock_widget.toggleViewAction())
        
        self.create_perspective_ui()
Esempio n. 2
0
 def create_activex_widget(self, parent: QWidget = None) -> QtAds.CDockWidget:
     widget = QAxWidget("{6bf52a52-394a-11d3-b153-00c04f79faa6}", parent)
     dock_widget = QtAds.CDockWidget("Active X {}".format(_State.activex_count))
     _State.activex_count += 1
     dock_widget.setWidget(widget)
     self.menuView.addAction(dock_widget.toggleViewAction())
     return dock_widget
def create_long_text_label_dock_widget(view_menu: QMenu) -> QtAds.CDockWidget:
    '''
    Create long text label dock widget

    Parameters
    ----------
    view_menu : QMenu

    Returns
    -------
    value : QtAds.CDockWidget
    '''
    label = QLabel()
    label.setWordWrap(True)
    label.setAlignment(Qt.AlignTop | Qt.AlignLeft)
    label.setText('''\
Label {} {} - Lorem ipsum dolor sit amet, consectetuer
adipiscing elit.  Aenean commodo ligula eget dolor. Aenean massa. Cum
sociis natoque penatibus et magnis dis parturient montes, nascetur
ridiculus mus.  Donec quam felis, ultricies nec, pellentesque eu, pretium
quis, sem.  Nulla consequat massa quis enim. Donec pede justo, fringilla
vel, aliquet nec, vulputate eget, arcu. In enim justo, rhoncus ut,
imperdiet a, venenatis vitae, justo. Nullam dictum felis eu pede mollis
pretium. Integer tincidunt. Cras dapibus. Vivamus elementum semper nisi.
Aenean vulputate eleifend tellus. Aenean leo ligula, porttitor eu,
consequat vitae, eleifend ac, enim. Aliquam lorem ante, dapibus in, viverra
quis, feugiat a, tellus. Phasellus viverra nulla ut metus varius laoreet.
    '''.format(_State.label_count, str(datetime.datetime.now())))
    _State.label_count += 1

    dock_widget = QtAds.CDockWidget("Label {}".format(_State.label_count))
    dock_widget.setWidget(label)

    view_menu.addAction(dock_widget.toggleViewAction())
    return dock_widget
    def __init__(self, parent=None):
        super().__init__(parent)

        self.setupUi(self)
 
        # Create the dock manager. Because the parent parameter is a QMainWindow
        # the dock manager registers itself as the central widget.
        self.dock_manager = QtAds.CDockManager(self)
        
        # Create example content label - this can be any application specific
        # widget
        l = QLabel()
        l.setWordWrap(True)
        l.setAlignment(Qt.AlignTop | Qt.AlignLeft);
        l.setText("Lorem ipsum dolor sit amet, consectetuer adipiscing elit. ")

        # Create a dock widget with the title Label 1 and set the created label
        # as the dock widget content
        dock_widget = QtAds.CDockWidget("Label 1")
        dock_widget.setWidget(l)

        # Add the toggleViewAction of the dock widget to the menu to give
        # the user the possibility to show the dock widget if it has been closed
        self.menuView.addAction(dock_widget.toggleViewAction())

        # Add the dock widget to the top dock widget area
        self.dock_manager.addDockWidget(QtAds.TopDockWidgetArea, dock_widget)
    def __init__(self, parent=None):
        super().__init__(parent)
        self.setup_ui()
        self.dock_manager = QtAds.CDockManager(self)

        self.dock_widgets = []

        for label_text, area in (
            ('1 Top', QtAds.TopDockWidgetArea),
            ('2 Bottom', QtAds.BottomDockWidgetArea),
            ('3 Left', QtAds.LeftDockWidgetArea),
            ('4 Right', QtAds.RightDockWidgetArea),
        ):
            # Create example content label - this can be any application specific
            # widget
            label = QtWidgets.QLabel()
            label.setWordWrap(True)
            label.setAlignment(Qt.AlignTop | Qt.AlignLeft)
            label.setText(
                f"{label_text}: Lorem ipsum dolor sit amet, consectetuer adipiscing elit. "
            )

            # Create a dock widget with the title Label 1 and set the created label
            # as the dock widget content
            dock_widget = QtAds.CDockWidget(label_text)
            dock_widget.setWidget(label)
            self.dock_widgets.append(dock_widget)

            # Add the toggleViewAction of the dock widget to the menu to give
            # the user the possibility to show the dock widget if it has been closed
            self.menu_view.addAction(dock_widget.toggleViewAction())

            # Add the dock widget to the top dock widget area
            self.dock_manager.addDockWidget(area, dock_widget)
Esempio n. 6
0
    def create_editor_widget(self) -> QtAds.CDockWidget:
        widget = QPlainTextEdit()
        widget.setPlaceholderText(
            "This is an editor. If you close the editor, it will be "
            "deleted. Enter your text here.")
        widget.setStyleSheet("border: none")
        dock_widget = QtAds.CDockWidget("Editor {}".format(
            _State.editor_count))
        _State.editor_count += 1
        dock_widget.setWidget(widget)
        dock_widget.setIcon(svg_icon(":/adsdemo/images/edit.svg"))
        dock_widget.setFeature(QtAds.CDockWidget.CustomCloseHandling, True)
        self.menuView.addAction(dock_widget.toggleViewAction())

        options_menu = QMenu(dock_widget)
        options_menu.setTitle("Options")
        options_menu.setToolTip(options_menu.title())
        options_menu.setIcon(
            svg_icon(":/adsdemo/images/custom-menu-button.svg"))
        menu_action = options_menu.menuAction()
        # The object name of the action will be set for the QToolButton that
        # is created in the dock area title bar. You can use this name for CSS
        # styling
        menu_action.setObjectName("options_menu")
        dock_widget.setTitleBarActions([options_menu.menuAction()])
        a = options_menu.addAction("Clear Editor")
        a.triggered.connect(widget.clear)

        return dock_widget
Esempio n. 7
0
    def create_table_widget(self) -> QtAds.CDockWidget:
        widget = CMinSizeTableWidget()
        dock_widget = QtAds.CDockWidget("Table {}".format(_State.table_count))
        _State.table_count += 1
        COLCOUNT = 5
        ROWCOUNT = 30
        widget.setColumnCount(COLCOUNT)
        widget.setRowCount(ROWCOUNT)
        for col in range(ROWCOUNT):
            widget.setHorizontalHeaderItem(
                col, QTableWidgetItem("Col {}".format(col + 1)))
            for row in range(ROWCOUNT):
                widget.setItem(
                    row, col,
                    QTableWidgetItem("T {:}-{:}".format(row + 1, col + 1)))

        dock_widget.setWidget(widget)
        dock_widget.setIcon(svg_icon(":/adsdemo/images/grid_on.svg"))
        dock_widget.setMinimumSizeHintMode(
            QtAds.CDockWidget.MinimumSizeHintFromContent)
        toolbar = dock_widget.createDefaultToolBar()
        action = toolbar.addAction(svg_icon(":/adsdemo/images/fullscreen.svg"),
                                   "Toggle Fullscreen")

        def on_toggle_fullscreen():
            if dock_widget.isFullScreen():
                dock_widget.showNormal()
            else:
                dock_widget.showFullScreen()

        action.triggered.connect(on_toggle_fullscreen)
        self.menuView.addAction(dock_widget.toggleViewAction())
        return dock_widget
def create_file_system_tree_dock_widget(view_menu: QMenu) -> QtAds.CDockWidget:
    '''
    Create file system tree dock widget

    Parameters
    ----------
    view_menu : QMenu

    Returns
    -------
    value : QtAds.CDockWidget
    '''
    widget = QTreeView()
    widget.setFrameShape(QFrame.NoFrame)

    m = QFileSystemModel(widget)
    m.setRootPath(QDir.currentPath())
    widget.setModel(m)

    dock_widget = QtAds.CDockWidget("Filesystem {}".format(
        _State.file_system_count))
    _State.file_system_count += 1
    dock_widget.setWidget(widget)
    view_menu.addAction(dock_widget.toggleViewAction())
    return dock_widget
Esempio n. 9
0
 def on_action2_triggered():
     global i
     dw = QtAds.CDockWidget("test {:d}".format(i))
     i += 1
     editor = QTextEdit("lorem ipsum...", dw)
     dw.setWidget(editor)
     area = dock_manager.addDockWidgetTab(QtAds.CenterDockWidgetArea, dw)
     qDebug("dock widget created! {} {}".format(dw, area))
Esempio n. 10
0
def main():
    'Application entry point'

    app, window = shared.setup_app(args, unknown, compat)

    # setup the dock manager
    window.setObjectName('MainWindow')
    window.resize(1068, 824)
    widget = QtWidgets.QWidget(window)
    window.setCentralWidget(widget)
    dock_manager = QtAds.CDockManager(window)

    DockArea = QtAds.DockWidgetArea

    # add widgets to the dock manager
    label_widget = QtAds.CDockWidget('Dock')
    label = QtWidgets.QLabel('Some label')
    label_widget.setWidget(label)
    dock_area = dock_manager.setCentralWidget(label_widget)
    dock_area.setAllowedAreas(DockArea.OuterDockAreas)

    list_widget = QtAds.CDockWidget('List')
    lst = QtWidgets.QListWidget()
    for index in range(10):
        lst.addItem(QtWidgets.QListWidgetItem(f'Item {index + 1}'))
    list_widget.setWidget(lst)
    list_widget.setMinimumSizeHintMode(QtAds.CDockWidget.MinimumSizeHintFromDockWidget)
    dock_manager.addDockWidget(DockArea.LeftDockWidgetArea, list_widget, dock_area)

    table_widget = QtAds.CDockWidget('Table')
    table = QtWidgets.QTableWidget()
    # make sure we have both scroll areas active.
    table.setColumnCount(40)
    table.setRowCount(40)
    table_widget.setWidget(table)
    table_widget.setMinimumSizeHintMode(QtAds.CDockWidget.MinimumSizeHintFromDockWidget)
    dock_manager.addDockWidget(DockArea.RightDockWidgetArea, table_widget, dock_area)

    if not args.use_internal:
        dock_manager.setStyleSheet('')

    # run
    window.setWindowState(compat.WindowMaximized)
    shared.set_stylesheet(args, app, compat)
    return shared.exec_app(args, app, window, compat)
Esempio n. 11
0
def create_calendar_dock_widget(view_menu: QMenu) -> QtAds.CDockWidget:
    widget = QCalendarWidget()

    dock_widget = QtAds.CDockWidget("Calendar {}".format(
        _State.calendar_count))
    _State.calendar_count += 1
    dock_widget.setWidget(widget)
    dock_widget.setToggleViewActionMode(QtAds.CDockWidget.ActionModeShow)
    dock_widget.setIcon(svg_icon(":/adsdemo/images/date_range.svg"))
    view_menu.addAction(dock_widget.toggleViewAction())
    return dock_widget
Esempio n. 12
0
    def grid_to_dock():
        dock_widget = QtAds.CDockWidget('Grid')
        dock_widget.setToggleViewActionMode(QtAds.CDockWidget.ActionModeShow)
        dock_widget.setFeature(dock_widget.DockWidgetClosable, False)
        dock_widget.setFeature(dock_widget.DockWidgetFloatable, False)
        dock_widget.setFeature(dock_widget.DockWidgetMovable, False)
        dock_widget.setMinimumSizeHintMode(
            QtAds.CDockWidget.MinimumSizeHintFromContent)
        dock_widget.setWidget(grid.frame,
                              QtAds.CDockWidget.eInsertMode.ForceNoScrollArea)

        window.dock_manager.addDockWidget(QtAds.LeftDockWidgetArea,
                                          dock_widget)
Esempio n. 13
0
    def __init__(self, parent=None):
        super().__init__(parent)

        self.setupUi(self)

        # Create the dock manager. Because the parent parameter is a QMainWindow
        # the dock manager registers itself as the central widget.
        layout = QVBoxLayout(self.dockContainer)
        layout.setContentsMargins(QMargins(0, 0, 0, 0))
        self.dock_manager = QtAds.CDockManager(self.dockContainer)
        layout.addWidget(self.dock_manager)

        # Create example content label - this can be any application specific
        # widget
        l = QLabel()
        l.setWordWrap(True)
        l.setAlignment(Qt.AlignTop | Qt.AlignLeft)
        l.setText("Lorem ipsum dolor sit amet, consectetuer adipiscing elit. ")

        # Create a dock widget with the title Label 1 and set the created label
        # as the dock widget content
        dock_widget = QtAds.CDockWidget("Label 1")
        dock_widget.setWidget(l)

        # Add the toggleViewAction of the dock widget to the menu to give
        # the user the possibility to show the dock widget if it has been closed
        self.menuView.addAction(dock_widget.toggleViewAction())

        # Add the dock widget to the top dock widget area
        self.dock_manager.addDockWidget(QtAds.TopDockWidgetArea, dock_widget)

        # Create an example editor
        te = QPlainTextEdit()
        te.setPlaceholderText(
            "Please enter your text here into this QPlainTextEdit...")
        dock_widget = QtAds.CDockWidget("Editor 1")
        self.menuView.addAction(dock_widget.toggleViewAction())
        self.dock_manager.addDockWidget(QtAds.BottomDockWidgetArea,
                                        dock_widget)
Esempio n. 14
0
    def create_file_system_tree_dock_widget(self) -> QtAds.CDockWidget:
        widget = QTreeView()
        widget.setFrameShape(QFrame.NoFrame)

        m = QFileSystemModel(widget)
        m.setRootPath(QDir.currentPath())
        widget.setModel(m)

        dock_widget = QtAds.CDockWidget("Filesystem {}".format(_State.file_system_count))
        _State.file_system_count += 1
        dock_widget.setWidget(widget)
        self.menuView.addAction(dock_widget.toggleViewAction())
        return dock_widget
Esempio n. 15
0
    def create_calendar_dock_widget(self) -> QtAds.CDockWidget:
        widget = QCalendarWidget()

        dock_widget = QtAds.CDockWidget("Calendar {}".format(_State.calendar_count))
        _State.calendar_count += 1
        # The following lines are for testing the setWidget() and takeWidget()
        # functionality
        dock_widget.setWidget(widget)
        dock_widget.setWidget(widget)  # what happens if we set a widget if a widget is already set
        dock_widget.takeWidget()  # we remove the widget
        dock_widget.setWidget(widget)  # and set the widget again - there should be no error
        dock_widget.setToggleViewActionMode(QtAds.CDockWidget.ActionModeShow)
        dock_widget.setIcon(svg_icon(":/adsdemo/images/date_range.svg"))
        self.menuView.addAction(dock_widget.toggleViewAction())
        return dock_widget
Esempio n. 16
0
    def add_dock(self, title, widget, *, area=QtAds.RightDockWidgetArea):
        '''
        Add dock widget by title

        If the dock already exists, it will be re-docked if necessary.
        Otherwise, a new dock will be added to the given area.

        Parameters
        ----------
        title : str
            The DockWidget title
        widget : QWidget
            The widget to put inside the dock
        area : QtAds.DockWidgetArea, optional
            The area to put the dock in
        '''
        dock = self.find_dock_widget_by_title(title)
        if dock:
            if dock.isFloating():
                self.dock_manager.addDockWidgetTab(area, dock)
            dock.toggleView(True)
            return dock

        # The current minimumSizeHint from the widget is too small ~(68, 68)
        # Here we suggest the minimumSizeHint as being the size
        def min_size_hint(*args, **kwargs):
            return widget.sizeHint()

        widget.minimumSizeHint = min_size_hint
        widget.setSizePolicy(QtWidgets.QSizePolicy.Ignored,
                             QtWidgets.QSizePolicy.Ignored)

        dock = QtAds.CDockWidget(title)
        dock.setMinimumSizeHintMode(
            QtAds.CDockWidget.MinimumSizeHintFromContent)
        dock.setWidget(widget)
        widget.setParent(dock)
        self.dock_manager.addDockWidget(area, dock)

        # Ensure the main dock is actually visible
        widget.raise_()
        widget.setVisible(True)
        return dock
Esempio n. 17
0
def create_table_widget(view_menu: QMenu) -> QtAds.CDockWidget:
    widget = QTableWidget()
    dock_widget = QtAds.CDockWidget("Table {}".format(_State.table_count))
    _State.table_count += 1
    COLCOUNT = 5
    ROWCOUNT = 30
    widget.setColumnCount(COLCOUNT)
    widget.setRowCount(ROWCOUNT)
    for col in range(ROWCOUNT):
        widget.setHorizontalHeaderItem(
            col, QTableWidgetItem("Col {}".format(col + 1)))
        for row in range(ROWCOUNT):
            widget.setItem(
                row, col,
                QTableWidgetItem("T {:}-{:}".format(row + 1, col + 1)))

    dock_widget.setWidget(widget)
    dock_widget.setIcon(svg_icon(":/adsdemo/images/grid_on.svg"))
    view_menu.addAction(dock_widget.toggleViewAction())
    return dock_widget
Esempio n. 18
0
def create_calendar_dock_widget(view_menu: QMenu) -> QtAds.CDockWidget:
    '''
    Create calendar dock widget

    Parameters
    ----------
    view_menu : QMenu

    Returns
    -------
    value : QtAds.CDockWidget
    '''
    widget = QCalendarWidget()

    dock_widget = QtAds.CDockWidget("Calendar {}".format(
        _State.calendar_count))
    _State.calendar_count += 1
    dock_widget.setWidget(widget)
    dock_widget.setToggleViewActionMode(QtAds.CDockWidget.ActionModeShow)
    view_menu.addAction(dock_widget.toggleViewAction())
    return dock_widget
Esempio n. 19
0
    def __init__(self, parent=None):
        super().__init__(parent)

        self.setupUi(self)

        QtAds.CDockManager.setConfigFlag(
            QtAds.CDockManager.OpaqueSplitterResize, True)
        QtAds.CDockManager.setConfigFlag(
            QtAds.CDockManager.XmlCompressionEnabled, False)
        self.dock_manager = QtAds.CDockManager(self)

        # Set central widget
        calendar = QCalendarWidget()
        central_dock_widget = QtAds.CDockWidget("CentralWidget")
        central_dock_widget.setWidget(calendar)
        central_dock_area = self.dock_manager.setCentralWidget(
            central_dock_widget)
        central_dock_area.setAllowedAreas(QtAds.DockWidgetArea.OuterDockAreas)

        # create other dock widgets
        file_tree = QTreeView()
        file_tree.setFrameShape(QFrame.NoFrame)
        file_model = QFileSystemModel(file_tree)
        file_model.setRootPath(QDir.currentPath())
        file_tree.setModel(file_model)
        data_dock_widget = QtAds.CDockWidget("File system")
        data_dock_widget.setWidget(file_tree)
        data_dock_widget.resize(150, 250)
        data_dock_widget.setMinimumSize(100, 250)
        file_area = self.dock_manager.addDockWidget(
            QtAds.DockWidgetArea.LeftDockWidgetArea, data_dock_widget,
            central_dock_area)
        self.menuView.addAction(data_dock_widget.toggleViewAction())

        table = QTableWidget()
        table.setColumnCount(3)
        table.setRowCount(10)
        table_dock_widget = QtAds.CDockWidget("Table")
        table_dock_widget.setWidget(table)
        table_dock_widget.setMinimumSizeHintMode(
            QtAds.CDockWidget.MinimumSizeHintFromDockWidget)
        table_dock_widget.resize(250, 150)
        table_dock_widget.setMinimumSize(200, 150)
        self.dock_manager.addDockWidget(
            QtAds.DockWidgetArea.BottomDockWidgetArea, table_dock_widget,
            file_area)
        self.menuView.addAction(table_dock_widget.toggleViewAction())

        properties_table = QTableWidget()
        properties_table.setColumnCount(3)
        properties_table.setRowCount(10)
        properties_dock_widget = QtAds.CDockWidget("Properties")
        properties_dock_widget.setWidget(properties_table)
        properties_dock_widget.setMinimumSizeHintMode(
            QtAds.CDockWidget.MinimumSizeHintFromDockWidget)
        properties_dock_widget.resize(250, 150)
        properties_dock_widget.setMinimumSize(200, 150)
        self.dock_manager.addDockWidget(
            QtAds.DockWidgetArea.RightDockWidgetArea, properties_dock_widget,
            central_dock_area)
        self.menuView.addAction(properties_dock_widget.toggleViewAction())
Esempio n. 20
0
def main():
    'Application entry point'

    if args.scale != 1:
        os.environ['QT_SCALE_FACTOR'] = str(args.scale)
    else:
        os.environ['QT_AUTO_SCREEN_SCALE_FACTOR'] = '1'
    if args.style != 'native':
        style = QtWidgets.QStyleFactory.create(args.style)
        QtWidgets.QApplication.setStyle(style)

    app = QtWidgets.QApplication(sys.argv[:1] + unknown)
    window = QtWidgets.QMainWindow()

    # use the default font size
    font = app.font()
    if args.font_size > 0:
        font.setPointSizeF(args.font_size)
    if args.font_family:
        font.setFamily(args.font_family)
    app.setFont(font)

    # setup stylesheet
    if args.stylesheet != 'native':
        file = QtCore.QFile(stylesheet)
        file.open(ReadOnly | Text)
        stream = QtCore.QTextStream(file)
        app.setStyleSheet(stream.readAll())

    # setup the dock manager
    window.setObjectName('MainWindow')
    window.resize(1068, 824)
    widget = QtWidgets.QWidget(window)
    window.setCentralWidget(widget)
    dock_manager = QtAds.CDockManager(window)

    # add widgets to the dock manager
    label_widget = QtAds.CDockWidget('Dock')
    label = QtWidgets.QLabel('Some label')
    label_widget.setWidget(label)
    dock_area = dock_manager.setCentralWidget(label_widget)
    dock_area.setAllowedAreas(QtAds.DockWidgetArea.OuterDockAreas)

    list_widget = QtAds.CDockWidget('List')
    lst = QtWidgets.QListWidget()
    for index in range(10):
        lst.addItem(QtWidgets.QListWidgetItem(f'Item {index + 1}'))
    list_widget.setWidget(lst)
    list_widget.setMinimumSizeHintMode(
        QtAds.CDockWidget.MinimumSizeHintFromDockWidget)
    dock_manager.addDockWidget(QtAds.DockWidgetArea.LeftDockWidgetArea,
                               list_widget, dock_area)

    table_widget = QtAds.CDockWidget('Table')
    table = QtWidgets.QTableWidget()
    # make sure we have both scroll areas active.
    table.setColumnCount(40)
    table.setRowCount(40)
    table_widget.setWidget(table)
    table_widget.setMinimumSizeHintMode(
        QtAds.CDockWidget.MinimumSizeHintFromDockWidget)
    dock_manager.addDockWidget(QtAds.DockWidgetArea.RightDockWidgetArea,
                               table_widget, dock_area)

    if not args.use_internal:
        dock_manager.setStyleSheet('')

    # run
    window.setWindowState(WindowMaximized)
    window.show()
    if args.pyqt6:
        return app.exec()
    else:
        return app.exec_()
Esempio n. 21
0
    def __init__(self, parent=None):
        super().__init__(parent)

        self.setupUi(self)

        QtAds.CDockManager.setConfigFlag(
            QtAds.CDockManager.OpaqueSplitterResize, True)
        QtAds.CDockManager.setConfigFlag(
            QtAds.CDockManager.XmlCompressionEnabled, False)
        QtAds.CDockManager.setConfigFlag(QtAds.CDockManager.FocusHighlighting,
                                         True)
        self.dock_manager = QtAds.CDockManager(self)

        # Set central widget
        label = QLabel()
        label.setText(
            "This is a DockArea which is always visible, even if it does not contain any DockWidgets."
        )
        label.setAlignment(Qt.AlignCenter)
        central_dock_widget = QtAds.CDockWidget("CentralWidget")
        central_dock_widget.setWidget(label)
        central_dock_widget.setFeature(QtAds.CDockWidget.NoTab, True)
        central_dock_area = self.dock_manager.setCentralWidget(
            central_dock_widget)

        # create other dock widgets
        table = QTableWidget()
        table.setColumnCount(3)
        table.setRowCount(10)
        table_dock_widget = QtAds.CDockWidget("Table 1")
        table_dock_widget.setWidget(table)
        table_dock_widget.setMinimumSizeHintMode(
            QtAds.CDockWidget.MinimumSizeHintFromDockWidget)
        table_dock_widget.resize(250, 150)
        table_dock_widget.setMinimumSize(200, 150)
        self.dock_manager.addDockWidgetTabToArea(table_dock_widget,
                                                 central_dock_area)
        table_area = self.dock_manager.addDockWidget(
            QtAds.DockWidgetArea.LeftDockWidgetArea, table_dock_widget)
        self.menuView.addAction(table_dock_widget.toggleViewAction())

        table = QTableWidget()
        table.setColumnCount(5)
        table.setRowCount(1020)
        table_dock_widget = QtAds.CDockWidget("Table 2")
        table_dock_widget.setWidget(table)
        table_dock_widget.setMinimumSizeHintMode(
            QtAds.CDockWidget.MinimumSizeHintFromDockWidget)
        table_dock_widget.resize(250, 150)
        table_dock_widget.setMinimumSize(200, 150)
        self.dock_manager.addDockWidget(
            QtAds.DockWidgetArea.BottomDockWidgetArea, table_dock_widget,
            table_area)
        self.menuView.addAction(table_dock_widget.toggleViewAction())

        properties_table = QTableWidget()
        properties_table.setColumnCount(3)
        properties_table.setRowCount(10)
        properties_dock_widget = QtAds.CDockWidget("Properties")
        properties_dock_widget.setWidget(properties_table)
        properties_dock_widget.setMinimumSizeHintMode(
            QtAds.CDockWidget.MinimumSizeHintFromDockWidget)
        properties_dock_widget.resize(250, 150)
        properties_dock_widget.setMinimumSize(200, 150)
        self.dock_manager.addDockWidget(
            QtAds.DockWidgetArea.RightDockWidgetArea, properties_dock_widget,
            central_dock_area)
        self.menuView.addAction(properties_dock_widget.toggleViewAction())

        self.createPerspectiveUi()