本文整理汇总了Python中qgis.core.QgsMapLayerModel.rowCount方法的典型用法代码示例。如果您正苦于以下问题:Python QgsMapLayerModel.rowCount方法的具体用法?Python QgsMapLayerModel.rowCount怎么用?Python QgsMapLayerModel.rowCount使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类qgis.core.QgsMapLayerModel
的用法示例。
在下文中一共展示了QgsMapLayerModel.rowCount方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: testAdditionalItems
# 需要导入模块: from qgis.core import QgsMapLayerModel [as 别名]
# 或者: from qgis.core.QgsMapLayerModel import rowCount [as 别名]
def testAdditionalItems(self):
l1 = create_layer('l1')
l2 = create_layer('l2')
QgsProject.instance().addMapLayers([l1, l2])
m = QgsMapLayerModel()
self.assertEqual(m.rowCount(QModelIndex()), 2)
m.setAdditionalItems(['a', 'b'])
self.assertEqual(m.rowCount(QModelIndex()), 4)
self.assertEqual(m.data(m.index(0, 0), Qt.DisplayRole), 'l1')
self.assertEqual(m.data(m.index(1, 0), Qt.DisplayRole), 'l2')
self.assertEqual(m.data(m.index(2, 0), Qt.DisplayRole), 'a')
self.assertEqual(m.data(m.index(3, 0), Qt.DisplayRole), 'b')
m.setAllowEmptyLayer(True)
self.assertEqual(m.rowCount(QModelIndex()), 5)
self.assertFalse(m.data(m.index(0, 0), Qt.DisplayRole))
self.assertEqual(m.data(m.index(1, 0), Qt.DisplayRole), 'l1')
self.assertEqual(m.data(m.index(2, 0), Qt.DisplayRole), 'l2')
self.assertEqual(m.data(m.index(3, 0), Qt.DisplayRole), 'a')
self.assertEqual(m.data(m.index(4, 0), Qt.DisplayRole), 'b')
QgsProject.instance().removeMapLayers([l1.id(), l2.id()])
self.assertEqual(m.rowCount(QModelIndex()), 3)
self.assertFalse(m.data(m.index(0, 0), Qt.DisplayRole))
self.assertEqual(m.data(m.index(1, 0), Qt.DisplayRole), 'a')
self.assertEqual(m.data(m.index(2, 0), Qt.DisplayRole), 'b')
示例2: testAllowEmpty
# 需要导入模块: from qgis.core import QgsMapLayerModel [as 别名]
# 或者: from qgis.core.QgsMapLayerModel import rowCount [as 别名]
def testAllowEmpty(self):
l1 = create_layer('l1')
l2 = create_layer('l2')
QgsProject.instance().addMapLayers([l1, l2])
m = QgsMapLayerModel()
self.assertEqual(m.rowCount(QModelIndex()), 2)
m.setAllowEmptyLayer(True)
self.assertEqual(m.rowCount(QModelIndex()), 3)
self.assertFalse(m.data(m.index(0, 0), Qt.DisplayRole))
m.setAllowEmptyLayer(False)
self.assertEqual(m.rowCount(QModelIndex()), 2)
self.assertTrue(m.data(m.index(0, 0), Qt.DisplayRole))
# add layers after allow empty is true
m.setAllowEmptyLayer(True)
l3 = create_layer('l3')
QgsProject.instance().addMapLayers([l3])
self.assertEqual(m.rowCount(QModelIndex()), 4)
self.assertFalse(m.data(m.index(0, 0), Qt.DisplayRole))
self.assertEqual(m.data(m.index(1, 0), Qt.DisplayRole), 'l1')
self.assertEqual(m.data(m.index(2, 0), Qt.DisplayRole), 'l2')
self.assertEqual(m.data(m.index(3, 0), Qt.DisplayRole), 'l3')
QgsProject.instance().removeMapLayers([l1.id(), l2.id(), l3.id()])
示例3: testAddingRemovingLayers
# 需要导入模块: from qgis.core import QgsMapLayerModel [as 别名]
# 或者: from qgis.core.QgsMapLayerModel import rowCount [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)