当我用 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)));
当我使用 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)));