本文整理汇总了Python中qgis.core.QgsMapLayerModel.layerFromIndex方法的典型用法代码示例。如果您正苦于以下问题:Python QgsMapLayerModel.layerFromIndex方法的具体用法?Python QgsMapLayerModel.layerFromIndex怎么用?Python QgsMapLayerModel.layerFromIndex使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类qgis.core.QgsMapLayerModel
的用法示例。
在下文中一共展示了QgsMapLayerModel.layerFromIndex方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: testAddingRemovingLayers
# 需要导入模块: from qgis.core import QgsMapLayerModel [as 别名]
# 或者: from qgis.core.QgsMapLayerModel import layerFromIndex [as 别名]
def testAddingRemovingLayers(self):
# test model handles layer addition and removal
m = QgsMapLayerModel()
self.assertEqual(m.rowCount(QModelIndex()), 0)
l1 = create_layer('l1')
QgsProject.instance().addMapLayer(l1)
self.assertEqual(m.rowCount(QModelIndex()), 1)
self.assertEqual(m.layerFromIndex(m.index(0, 0)), l1)
l2 = create_layer('l2')
QgsProject.instance().addMapLayer(l2)
self.assertEqual(m.rowCount(QModelIndex()), 2)
self.assertEqual(m.layerFromIndex(m.index(0, 0)), l1)
self.assertEqual(m.layerFromIndex(m.index(1, 0)), l2)
QgsProject.instance().removeMapLayer(l1)
self.assertEqual(m.rowCount(QModelIndex()), 1)
self.assertEqual(m.layerFromIndex(m.index(0, 0)), l2)
QgsProject.instance().removeMapLayer(l2)
self.assertEqual(m.rowCount(QModelIndex()), 0)
# try creating a model when layers already exist in registry
l1 = create_layer('l1')
l2 = create_layer('l2')
QgsProject.instance().addMapLayers([l1, l2])
m = QgsMapLayerModel()
self.assertEqual(m.rowCount(QModelIndex()), 2)
QgsProject.instance().removeMapLayers([l1.id(), l2.id()])
self.assertEqual(m.rowCount(QModelIndex()), 0)
示例2: testIndexFromLayer
# 需要导入模块: from qgis.core import QgsMapLayerModel [as 别名]
# 或者: from qgis.core.QgsMapLayerModel import layerFromIndex [as 别名]
def testIndexFromLayer(self):
l1 = create_layer('l1')
l2 = create_layer('l2')
QgsProject.instance().addMapLayers([l1, l2])
m = QgsMapLayerModel()
l3 = create_layer('l3') # not in registry
self.assertEqual(m.indexFromLayer(l1).row(), 0)
self.assertEqual(m.layerFromIndex(m.indexFromLayer(l1)), l1)
self.assertEqual(m.indexFromLayer(l2).row(), 1)
self.assertEqual(m.layerFromIndex(m.indexFromLayer(l2)), l2)
self.assertFalse(m.indexFromLayer(l3).isValid())
m.setAllowEmptyLayer(True)
self.assertEqual(m.indexFromLayer(l1).row(), 1)
self.assertEqual(m.indexFromLayer(l2).row(), 2)
QgsProject.instance().removeMapLayers([l1.id(), l2.id()])