boundingRect()
2025/6/12小于 1 分钟
boundingRect()
boundingRect() 是 Qt 中的一个方法,广泛应用于 QGraphicsItem 及其子类(如 QGraphicsPixmapItem、QGraphicsPolygonItem 等)。它返回图形项的边界矩形,该矩形用于描述图形项所占用的空间。边界矩形是一个QRectF对象,包含了图形项在局部坐标系中的尺寸和位置。
QPixmap pixmap(":/images/star.png");
QGraphicsPixmapItem *item = new QGraphicsPixmapItem(pixmap);
// 获取图片的边界矩形
QRectF rect = item->boundingRect();在上面的代码中,boundingRect() 会返回一个矩形,这个矩形的宽度和高度与图片的实际尺寸相同,比如图片是100x100像素,那么返回的矩形可能是 QRectF(0, 0, 100, 100)。

QPolygonF star;
// 构建一个五角星
for (int i = 0; i < 5; ++i) {
double angle = i * 2 * M_PI / 5 - M_PI / 2;
double outerRadius = 50.0;
double innerRadius = 25.0;
star << QPointF(outerRadius * cos(angle), outerRadius * sin(angle));
angle += M_PI / 5;
star << QPointF(innerRadius * cos(angle), innerRadius * sin(angle));
}
QGraphicsPolygonItem *item = new QGraphicsPolygonItem(star);
QRectF rect = item->boundingRect(); // 获取五角星的包围框
