0

我想知道如何用 qt 创建一个圆角矩形并将其添加到 QGraphicsItemGroup(Qt 为 4.8)。

我有这样的代码:

QGraphicsItemGroup* grp = new QGraphicsItemGroup();    
QRect rct(x, y, width, height);
QGraphicsRectItem* frame = new QGraphicsRectItem(rct, grp);

但这(显然)创建并向组添加了一个矩形......我想要一个圆角矩形。不幸的是,我没有找到任何类似于我需要的东西......一个简单的QGraphicsRoundRectItem类。

有人有这方面的经验吗?

4

2 回答 2

3

创建一个继承自 QGraphicsItem 的类

然后,覆盖对象的绘制项并调用绘制函数drawRoundedRect。

然后您可以实例化新对象并将其添加到 QGraphicsItemGroup。

于 2013-06-25T12:16:34.847 回答
-1

只需创建一个QPainterPath,添加一个圆角矩形作为路径,将路径添加到场景中以获得一个QGraphicsPathItem并用画笔填充它或用钢笔绘制轮廓。然后可以将此项目添加到任何QGraphicsItemGroup.

示例(Python/Qt 绑定)

path = QtGui.QPainterPath()
path.addRoundRect(QtCore.QRectF(x, y, w, h), rw, rh)
item = self.scene.addPath(path, pen=my_pen, brush=my_brush)
# add item to item group

有关添加圆角矩形的更多方法,请参阅文档。QPainterPath

于 2014-09-29T11:26:40.620 回答