qgis 2.12 - 通过 python 删除所有 TextAnnotations
qgis 2.12 - Remove all TextAnnotations via python
我有带有很多文本注释的地图。我想从 python 控制台中将它们全部删除。
我试过了:
from qgis.gui import *
from PyQt4.QtGui import *
from PyQt4.QtCore import *
items = qgis.utils.iface.mapCanvas().items()
for item in items:
print type(item).__name__
if (isinstance(item, QgsAnnotationItem)):
print "Got annotation"
它获取图形对象,但从未找到注释项。我怎么知道项目是否是注释?然后我如何将其从地图中删除?
事实上,它获取您的 TextAnnotations,但您以 QGraphicsItem 的形式获取它们。
但是您有关于您的项目的方法数据,并且您正在寻找 item.data(0) == 'AnnotationItem'.
所以:
from qgis.gui import *
from PyQt4.QtGui import *
from PyQt4.QtCore import *
items = qgis.utils.iface.mapCanvas().items()
for item in items:
print type(item).__name__
if item.data(0) == 'AnnotationItem':
print "Got annotation"
我有带有很多文本注释的地图。我想从 python 控制台中将它们全部删除。
我试过了:
from qgis.gui import *
from PyQt4.QtGui import *
from PyQt4.QtCore import *
items = qgis.utils.iface.mapCanvas().items()
for item in items:
print type(item).__name__
if (isinstance(item, QgsAnnotationItem)):
print "Got annotation"
它获取图形对象,但从未找到注释项。我怎么知道项目是否是注释?然后我如何将其从地图中删除?
事实上,它获取您的 TextAnnotations,但您以 QGraphicsItem 的形式获取它们。
但是您有关于您的项目的方法数据,并且您正在寻找 item.data(0) == 'AnnotationItem'.
所以:
from qgis.gui import *
from PyQt4.QtGui import *
from PyQt4.QtCore import *
items = qgis.utils.iface.mapCanvas().items()
for item in items:
print type(item).__name__
if item.data(0) == 'AnnotationItem':
print "Got annotation"