【发布时间】:2018-06-28 13:08:16
【问题描述】:
我尝试在 QPainter 中并排使用 2 个圆角矩形,但无法实现上图。
QPainter painter(this);
painter.setRenderHint(QPainter::Antialiasing);
QRectF leftRect= QRectF(0, 0, 300, 150);
QRectF rightRect= QRectF(300, 0, 300, 150);
painter.fillRect(leftRect, QColor("black");
painter.drawRoundedRect(leftRect,15,35);
painter.setPen(QPen("white"));
painter.setPen(QPen("black"));
painter.fillRect(rightRect, QColor("white");
painter.drawRoundedRect(rightRect,15,35);
我用 QPainterPath 试过这个
QPainter painter(this);
painter.setRenderHint(QPainter::Antialiasing);
QRectF leftRect= QRectF(0, 0, 300, 150);
QRectF rightRect= QRectF(300, 0, 300, 150);
QPainterPath path;
path.setFillRule(Qt::WindingFill);
path.addRoundedRect(leftRect, 15, 35);
QPen pen(Qt::white, 1);
painter.setPen(pen);
painter.fillPath(path, Qt::black);
painter.drawPath(path);
QPainterPath path2;
path2.setFillRule(Qt::WindingFill);
QPen pen1(Qt::black, 1);
painter.setPen(pen1);
path2.addRoundedRect(rightRect, 15, 35);
painter.fillPath(path2, Qt::white);
painter.drawPath(path2);
【问题讨论】:
-
两边需要圆角还是半圆?
-
是的,它是两个并排的矩形。一侧是圆形的,另一侧是平的