2013-06-25 69 views
0

我想知道如何用qt創建一個圓角矩形並將其添加到QGraphicsItemGroup(Qt是4.8)。Qt添加一個圓形矩形到一個圖形項目組

我有這樣的代碼:

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

但(顯然)創建並添加一個矩形到組...我想有一個圓角矩形。不幸的是,我沒有找到類似於我需要的東西...一個簡單的QGraphicsRoundRectItem類。

任何人都有這方面的經驗?

+0

沒有內置的類型,你需要創建自己的 - 並且網上已經有很多完整的例子。 – Mat

回答

1

創建從的QGraphicsItem

繼承

然後一類,覆蓋對象的油漆項目,並調用畫家功能drawRoundedRect。

然後,您可以實例化新對象並將其添加到QGraphicsItemGroup。

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 

更多的方式來添加圓角矩形見QPainterPathdocumentation

相關問題