如何画笔宽度为0(隐形不是化妆品)?

时间:2015-03-10 15:15:16

标签: c++ qt drawing

我想绘制具有不同宽度边框的形状。

如果我设置width = 0,我希望(想象)这里没有边框......但我读到边框0非常薄("化妆品")边框。

如何用隐形边框绘制形状?

int penWidth = 0; // some user input, 0 to 20 maybe
QPen pen = QPen(Qt::red, penWidth, Qt::PenStyle(Qt::SolidLine));
painter->setPen(pen);
painter->setBrush(QBrush(Qt::SolidPattern));
painter->drawRect(someRect);

2 个答案:

答案 0 :(得分:6)

你可以简单地设置无笔,即:

painter->setPen(Qt::NoPen);

在这种情况下,它根本不会绘制边界线。

答案 1 :(得分:2)

您可以使用以下内容获取隐藏的QPen:

painter->setPen(QPen(Qt::NoPen));

default QPen constructor创建一个宽度为1的黑色实线笔,您必须强制将样式设置为Qt::NoPen以获得不可见的样式。