如何使用QPainter :: drawPolyLine绘制圆角

时间:2012-06-12 14:09:46

标签: qt qpainter

我正在尝试使用QGroupBox作为基础创建一个自定义容器小部件,并在paint事件中绘制新框架,使用drawPolyLine创建它可以正常工作,但我想绘制圆角框架。有没有人遇到过使用drawPolyLine的方法,或者我需要重写我的代码来实现它们?

2 个答案:

答案 0 :(得分:2)

QPen有一个Qt :: RoundCap的“Cap Style”选项,根据笔的宽度可能会产生圆角。

答案 1 :(得分:1)

在定制灵活形状方面,QPainterPath是其中最强大的一类。例如,您可以使用QPainterPath::arcTo()来绘制单个圆角,但绘制完整形状可能需要一些数学。

另一种可能性是定义单个形状并使用intersected()subtracted()合并它们,如评论中cbamber85所建议的那样。