本文整理汇总了Python中qgis.gui.QgsLayerTreeView.selectedLayerNodes方法的典型用法代码示例。如果您正苦于以下问题:Python QgsLayerTreeView.selectedLayerNodes方法的具体用法?Python QgsLayerTreeView.selectedLayerNodes怎么用?Python QgsLayerTreeView.selectedLayerNodes使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类qgis.gui.QgsLayerTreeView
的用法示例。
在下文中一共展示了QgsLayerTreeView.selectedLayerNodes方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: AuxiliaryLegend
# 需要导入模块: from qgis.gui import QgsLayerTreeView [as 别名]
# 或者: from qgis.gui.QgsLayerTreeView import selectedLayerNodes [as 别名]
#.........这里部分代码省略.........
actn.setObjectName( 'showLayer')
actn.triggered.connect( self.onAction )
toolBar.addAction( actn )
actn = QAction( winLegend )
actn.setIcon( qgis.utils.iface.actionHideSelectedLayers().icon() )
actn.setIconText( 'Hide selected layers')
actn.setObjectName( 'hideLayer')
actn.triggered.connect( self.onAction )
toolBar.addAction( actn )
actn = QAction( winLegend )
actn.setIcon( qgis.utils.iface.actionRemoveLayer().icon() )
actn.setIconText( 'Remove selected layers')
actn.setObjectName( 'removeLayer')
actn.triggered.connect( self.onAction )
toolBar.addAction( actn )
toolBar.addSeparator()
actn = QAction( winLegend )
actn.setIcon( qgis.utils.iface.actionDuplicateLayer().icon() )
actn.setIconText( 'Add selected layers from main map')
actn.setObjectName( 'addLayer')
actn.triggered.connect( self.onAction )
toolBar.addAction( actn )
actn = QAction( winLegend )
actn.setIcon( QIcon( os.path.join( os.path.dirname(__file__), 'mActionCurrentLayer.png' ) ) )
actn.setIconText( 'Current layer for main map')
actn.setObjectName( 'currentLayer')
actn.triggered.connect( self.onAction )
toolBar.addAction( actn )
actn = QAction( winLegend )
actn.setIcon( QIcon( os.path.join( os.path.dirname(__file__), 'mActionAddGroup.png' ) ) )
actn.setObjectName( 'syncGroup' )
actn.triggered.connect( self.onAction )
toolBar.addAction( actn )
super( AuxiliaryLegend, self ).__init__( "#%d - Layers" % numWin, parent )
ltg = parent.ltg
self.tview = self.model = self.bridge = None
self.textSync = "Sync with group(main map) for new layers"
self.actSync = None
setTreeView()
winLegend = QMainWindow( self )
toolBar = QToolBar( winLegend )
setupUi()
addActions()
self.addNameSyncGroup( "None" )
winLegend.setCentralWidget( self.tview )
def addNameSyncGroup(self, name):
act = self.findChild( QAction, 'syncGroup' )
text = "%s -> %s" % ( self.textSync, name )
act.setIconText( text )
def setBridge(self, canvas):
ltg = self.model.rootGroup()
self.bridge = QgsLayerTreeMapCanvasBridge( ltg, canvas ) # Need wait populate ltg
def clearBridge(self):
if not self.bridge is None:
self.bridge.clear()
def closeEvent(self, event):
event.accept()
self.closed.emit()
@pyqtSlot()
def onAction(self):
nameSender = self.sender().objectName()
if nameSender in ( 'showLayer', 'hideLayer', 'removeLayer'):
nodes = self.tview.selectedLayerNodes()
if len( nodes ) == 0:
self.needSelectLayer.emit()
return
if nameSender in ( 'showLayer', 'hideLayer'):
checked = Qt.Checked if nameSender == 'showLayer' else Qt.Unchecked
map( lambda item: item.setVisible( checked ), nodes )
else:
ltg = self.model.rootGroup()
for node in nodes:
self.removeLayer.emit( node.layer() )
ltg.removeChildNode( node )
# addLayer, currentLayer
else:
if nameSender == 'addLayer':
self.addSelectedLayersQgis.emit()
elif nameSender == 'currentLayer':
self.currentLayerQgis.emit( self.tview.currentLayer() )
else:
self.syncGroupLayer.emit()