我想使用添加到带有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'
如何在地图图层中存储字符串信息?