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