我们从Python开源项目中,提取了以下2个代码示例,用于说明如何使用PyQt4.QtGui.QDockWidget()。
def createDockWindows(self): # Ipython??? self.console = EmbedIPython(testing=123) self.console.kernel.shell.run_cell('%pylab qt') dock = QtGui.QDockWidget("Ipython Console", self) dock.setWidget(self.console) dock.setAllowedAreas(QtCore.Qt.BottomDockWidgetArea | QtCore.Qt.TopDockWidgetArea) self.addDockWidget(QtCore.Qt.BottomDockWidgetArea, dock) self.viewMenu.addAction(dock.toggleViewAction()) # ToolBox??? dock = QtGui.QDockWidget("Customers", self) dock.setAllowedAreas(QtCore.Qt.LeftDockWidgetArea | QtCore.Qt.RightDockWidgetArea) dock.setWidget(self.toolBox) self.addDockWidget(QtCore.Qt.LeftDockWidgetArea, dock) self.viewMenu.addAction(dock.toggleViewAction()) #self.customerList.currentTextChanged.connect(self.insertCustomer) #self.paragraphsList.currentTextChanged.connect(self.addParagraph)
def initGui( self ): # Remove Redo buttons from menus and toolbars, they can lead to crashes due # to a corrupted undo stack. redoActionList = [action for action in self.iface.advancedDigitizeToolBar().actions() if action.objectName() == u'mActionRedo'] if redoActionList: self.iface.advancedDigitizeToolBar().removeAction( redoActionList[0] ) self.iface.editMenu().removeAction( redoActionList[0] ) QSettings().setValue( "/shortcuts/Redo", "" ) # Override Redo shortcut # This block (2 options for disabling the Undo panel) didn't work #QSettings().setValue( '/UI/Customization/enabled', True ) #QSettings( "QGIS", "QGISCUSTOMIZATION2" ).setValue( '/Customization/Panels/Undo', False ) #undoDock = self.iface.mainWindow().findChild( QDockWidget, u'Undo' ) #self.iface.removeDockWidget( undoDock ) # Create action that will start plugin configuration self.actionDock = QAction(QIcon( ":/plugins/AutoFields/icon.png"), \ "AutoFields plugin...", self.iface.mainWindow() ) self.actionDock.triggered.connect( self.toggleDockWidget ) self.actionExport = QAction(QIcon( ":/plugins/AutoFields/icons/export.png"), \ "Export AutoFields to JSON file...", self.iface.mainWindow() ) self.actionExport.triggered.connect( self.openExportDialog ) self.actionImport = QAction(QIcon( ":/plugins/AutoFields/icons/import.png"), \ "Import AutoFields from JSON file...", self.iface.mainWindow() ) self.actionImport.triggered.connect( self.openImportFileDialog ) # Add custom submenu to Vector menu self.iface.addPluginToVectorMenu( "&AutoFields", self.actionDock ) self.iface.addPluginToVectorMenu( "&AutoFields", self.actionExport ) self.iface.addPluginToVectorMenu( "&AutoFields", self.actionImport ) # Add a custom toolbar self.toolbar = self.iface.addToolBar( "AutoFields" ) self.toolbar.setObjectName("AutoFields") self.toolbar.addAction( self.actionDock ) self.toolbar.addAction( self.actionExport ) self.toolbar.addAction( self.actionImport ) self.messageManager = MessageManager( self.messageMode, self.iface ) self.autoFieldManager = AutoFieldManager( self.messageManager, self.iface ) self.autoFieldManager.readAutoFields() self.dockWidget = AutoFieldsDockWidget( self.iface.mainWindow(), self.iface, self.autoFieldManager, self.messageManager, self.language ) self.iface.addDockWidget( Qt.RightDockWidgetArea, self.dockWidget )