读书人

Qt中怎么给一个用drawLine绘制的封闭的

发布时间: 2013-10-11 14:52:39 作者: rapoo

Qt中如何给一个用drawLine绘制的封闭的多边形的填充颜色?



如图,在一个圆内,蓝色线圈起的区域是用drawLine()把360个点连起来的不规则的封闭图形,我试着用setBrush()设置,但是还是没效果。因为对Qt不是很熟练,想请教下各位可以有什么解决方法。
(我的意思就是把这个蓝色区域里的颜色填充成单一的颜色,比如蓝色)
我的设置方法是在设置画笔的时候就设置画刷:


谢谢!
这是一个简单例子。
[解决办法]
用QPolygon可以实现。
Qt中怎么给一个用drawLine绘制的封闭的多边形的填充颜色
PolygonWidget::PolygonWidget(QWidget *parent) : QWidget(parent), ui(new Ui::PolygonWidget) {
ui->setupUi(this);

polygon << QPoint(20, 20);
polygon << QPoint(122, 25);
polygon << QPoint(130, 120);
polygon << QPoint(140, 150);
polygon << QPoint(20, 110);
polygon << QPoint(0, 50);
}

PolygonWidget::~PolygonWidget() {
delete ui;
}

void PolygonWidget::paintEvent(QPaintEvent *event) {
Q_UNUSED(event);

QPainter painter(this);
painter.setBrush(Qt::red);
painter.drawConvexPolygon(polygon);
}

读书人网 >QT开发

热点推荐