本文整理汇总了Python中qgis.core.QgsMapLayerStore.takeMapLayer方法的典型用法代码示例。如果您正苦于以下问题:Python QgsMapLayerStore.takeMapLayer方法的具体用法?Python QgsMapLayerStore.takeMapLayer怎么用?Python QgsMapLayerStore.takeMapLayer使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类qgis.core.QgsMapLayerStore
的用法示例。
在下文中一共展示了QgsMapLayerStore.takeMapLayer方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: testTakeLayer
# 需要导入模块: from qgis.core import QgsMapLayerStore [as 别名]
# 或者: from qgis.core.QgsMapLayerStore import takeMapLayer [as 别名]
def testTakeLayer(self):
# test taking ownership of a layer from the store
l1 = createLayer('l1')
l2 = createLayer('l2')
store = QgsMapLayerStore()
# add one layer to store
store.addMapLayer(l1)
self.assertEqual(store.mapLayers(), {l1.id(): l1})
self.assertEqual(l1.parent(), store)
# try taking some layers which don't exist in store
self.assertFalse(store.takeMapLayer(None))
self.assertFalse(store.takeMapLayer(l2))
# but l2 should still exist..
self.assertTrue(l2.isValid())
# take layer from store
self.assertEqual(store.takeMapLayer(l1), l1)
self.assertFalse(store.mapLayers()) # no layers left
# but l1 should still exist
self.assertTrue(l1.isValid())
# layer should have no parent now
self.assertFalse(l1.parent())
# destroy store
store = None
self.assertTrue(l1.isValid())