当我用 QPainter.drawRect() 绘制矩形时,我的矩形上出现了不受欢迎的黑色边框

Undesirable black border on my rect when i draw it with QPainter.drawRect()

当我使用 drawRect() 时,我的矩形顶部有一条不受欢迎的一两个像素的黑线。 所以我的矩形没有完全填满我的小部件。

我的代码:

QPainter Painter(this);

QString TmpColor;

int R, G, B, A;

TmpColor = c_LabColor;

R = TmpColor.left(TmpColor.indexOf(',')).toInt();
TmpColor.remove(0, TmpColor.indexOf(',') + 1);
G = TmpColor.left(TmpColor.indexOf(',')).toInt();
TmpColor.remove(0, TmpColor.indexOf(',') + 1);
B = TmpColor.left(TmpColor.indexOf(',')).toInt();
TmpColor.remove(0, TmpColor.indexOf(',') + 1);
A = TmpColor.left(TmpColor.indexOf(',')).toInt();

Painter.setBrush(QBrush(QColor(R,G,B,A)));
Painter.drawRect(this->rect());

感谢您的建议。

QPainter::drawRect使用当前笔绘制矩形轮廓并使用当前笔填充矩形。由于您没有明确设置画笔,它将是默认值,可能是黑色和 1 像素宽。因此边界。

如果您只想完全填充小部件矩形,那么只需使用 QPainter::fillRect 重载之一...

Painter.fillRect(rect(), QBrush(QColor(R,G,B,A)));