2

我正在尝试使用 C++ 作为核心和 Qt 作为 GUI 开发黑白棋。但是,我在用 QGraphics 画圆时遇到了一些麻烦。我正在尝试使下方图片中的圆圈透明,但边框没有变得透明。是否有任何选项可以使 QGraphicsEllipseItem 的边框透明?

QGraphicsScene *scene = new QGraphicsScene(ui->gv_main);
scene->setSceneRect(0, 0, 667, 667);
ui->gv_main->setScene(scene);
const int DIAMETER = 80;
auto circle = new QGraphicsEllipseItem(0, 0, DIAMETER, DIAMETER);
circle->setFlag(QGraphicsItem::ItemClipsChildrenToShape, true);
circle->setBrush(Qt::black);
circle->setPos(2,2);
scene->addItem(circle);
auto circle2 = new QGraphicsEllipseItem(0, 0, DIAMETER, DIAMETER);
circle2->setFlag(QGraphicsItem::ItemClipsChildrenToShape, true);
circle2->setBrush(Qt::transparent);
circle2->setPos(85,2);
scene->addItem(circle2);

在此处输入图像描述

4

1 回答 1

2

您不必使其透明,但通过将其设置为Qt::NoPenQPen项目一样将其删除:

circle2->setPen(Qt::NoPen);
于 2020-01-29T17:50:32.100 回答