我想知道如何用qt创建一个圆角矩形并将其添加到QGraphicsItemGroup(Qt为4.8)。
我的代码如下:
QGraphicsItemGroup* grp = new QGraphicsItemGroup();
QRect rct(x, y, width, height);
QGraphicsRectItem* frame = new QGraphicsRectItem(rct, grp);
但是(显然)创建并向组中添加了一个矩形......我希望有一个圆角矩形。不幸的是,我找不到类似于我需要的东西...一个简单的QGraphicsRoundRectItem
类。
任何人都有这方面的经验吗?
答案 0 :(得分:3)
创建一个继承自QGraphicsItem
的类然后,覆盖对象的绘图项并调用painter函数drawRoundedRect。
然后,您可以实例化新对象并将其添加到QGraphicsItemGroup。
答案 1 :(得分:0)
只需创建一个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
的{{3}}。