假设该多边形是由本作者前两篇文章中多边形方式所画,但不仅限于该方式
//在类头文件的public中
public:
QMap<int,cctit*> auid; //其中cctit继承自QgsRubberBand
//在cpp文件中
auto pa=auid.value(id);
QRectF bounds=pa->boundingRect(); //获取图形pa的边界框
QPointF center=bounds.center(); //获得边界框中心点
QTransform transform; //创建一个变换对象
transform.translate(center.x(),center.Y()); //先将图标移动到中心点点
transform.rotate(90); //旋转九十度
transform.translate(-center.x(),-center.Y()); //再将其移动到中心点
pa->setTransform(transform);