QGIS:返回添加到矢量层的值并将其存储

时间:2019-07-25 12:39:14

标签: python-3.x qt plugins qgis

我想使用添加到带有Qt ComboBox的图层的某些信息(字符串),但是我正努力返回此值并将其存储在图层中。

我试图将插入的项目存储在一个变量中,但这并不能解决问题。我无法使用任何功能来访问添加的信息。我应该返回该值,还是有其他方法可以在地图图层中存储此信息?

选择放置哪个对象

Objects = ['Trees on grass', 'Trees on avenue', 'Grass field', 'Green roofs', 'Cool roofs', 'Facade greening', 'Solar Panels', 'Pond/river', 'Fountain', 'Surface albedo change']

#insert this string in Combobox
self.ObjectType = QComboBox()
object = self.ObjectType.insertItems(0, Objects)

# Add this object feature to layer
for layer in QgsProject.instance().mapLayers().values():
   if 'field=' + self.tr('Drawings') + ':string(255,0)' in layer.dataProvider().dataSourceUri()[-28:]:  # must have its first field named Drawings, string type
     self.layers.append(layer)
     self.layerBox.addItem(layer.object)

这是我现在遇到的错误:

AttributeError: 'QgsVectorLayer' object has no attribute 'object'

如何在地图图层中存储字符串信息?

0 个答案:

没有答案