本文整理汇总了Python中qgis.core.QgsVectorLayer.selectedFeatures方法的典型用法代码示例。如果您正苦于以下问题:Python QgsVectorLayer.selectedFeatures方法的具体用法?Python QgsVectorLayer.selectedFeatures怎么用?Python QgsVectorLayer.selectedFeatures使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类qgis.core.QgsVectorLayer
的用法示例。
在下文中一共展示了QgsVectorLayer.selectedFeatures方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: testRepack
# 需要导入模块: from qgis.core import QgsVectorLayer [as 别名]
# 或者: from qgis.core.QgsVectorLayer import selectedFeatures [as 别名]
def testRepack(self):
vl = QgsVectorLayer("{}|layerid=0".format(self.repackfile), "test", "ogr")
ids = [f.id() for f in vl.getFeatures(QgsFeatureRequest().setFilterExpression("pk=1"))]
vl.selectByIds(ids)
self.assertEqual(vl.selectedFeaturesIds(), ids)
self.assertEqual(vl.pendingFeatureCount(), 5)
self.assertTrue(vl.startEditing())
self.assertTrue(vl.deleteFeature(3))
self.assertTrue(vl.commitChanges())
self.assertTrue(vl.selectedFeatureCount() == 0 or vl.selectedFeatures()[0]["pk"] == 1)
示例2: testRepack
# 需要导入模块: from qgis.core import QgsVectorLayer [as 别名]
# 或者: from qgis.core.QgsVectorLayer import selectedFeatures [as 别名]
def testRepack(self):
vl = QgsVectorLayer(u'{}|layerid=0'.format(self.repackfile), u'test', u'ogr')
ids = [f.id() for f in vl.getFeatures(QgsFeatureRequest().setFilterExpression('pk=1'))]
vl.setSelectedFeatures(ids)
assert vl.selectedFeaturesIds() == ids, vl.selectedFeaturesIds()
assert vl.pendingFeatureCount() == 5, vl.pendingFeatureCount()
assert vl.startEditing()
assert vl.deleteFeature(3)
assert vl.commitChanges()
assert vl.selectedFeatureCount() == 0 or vl.selectedFeatures()[0]['pk'] == 1
示例3: __init__
# 需要导入模块: from qgis.core import QgsVectorLayer [as 别名]
# 或者: from qgis.core.QgsVectorLayer import selectedFeatures [as 别名]
#.........这里部分代码省略.........
#self.select_psk() #workaround kvuli
def select_psk(self):
self.psk = self.por.find("PSK[@PSK='%s']"%self.dockwidget.input_psk.currentText())
self.jprl = (
self.lhc.get('LHC_KOD')
, self.odd.get('ODD')
, self.dil.get('DIL')
, self.por.get('POR')
, self.psk.get('PSK'))
#zrus vybrane graficky
self.psk_layer.setSelectedFeatures([])
#vyber
request = QgsFeatureRequest().setFilterExpression(
"lhc_kod = '%s' AND odd = '%s' AND dil ='%s' AND por = '%s' AND psk = '%s'"%
self.jprl)
it = self.psk_layer.getFeatures( request )
self.psk_layer.setSelectedFeatures([f.id() for f in it])
box = self.psk_layer.boundingBoxOfSelected()
self.iface.mapCanvas().setExtent(box)
self.iface.mapCanvas().refresh()
def show_hk(self):
#nejdriv zjistim, jestli je vybrany nejaky prvek graficky
#pak musim u vyberu pomoci roletek dat odselektovani vseho
if len(self.psk_layer.selectedFeatures()) == 0 and len(self.jprl) < 5:
QMessageBox.critical(QDialog()
,u"Chyba výběru",u"Není vybrána žádná porostní skupina")
return(None)
if len(self.psk_layer.selectedFeatures()) > 0: #musi bejt prave jeden
#kdyz je jich vic, vem prvni
selected_psk = self.psk_layer.selectedFeatures()[0]
self.jprl = (selected_psk['lhc_kod']
, selected_psk['odd']
, selected_psk['dil']
, selected_psk['por']
, selected_psk['psk'])
#nastavim comba
index = self.dockwidget.input_lhc.findText(selected_psk['lhc_kod'])
if index >= 0:
self.dockwidget.input_lhc.setCurrentIndex(index)
self.select_lhc()
index = self.dockwidget.input_odd.findText(selected_psk['odd'])
if index >= 0:
self.dockwidget.input_odd.setCurrentIndex(index)
self.select_odd()
index = self.dockwidget.input_dil.findText(selected_psk['dil'])
if index >= 0:
self.dockwidget.input_dil.setCurrentIndex(index)
self.select_dil()