要画一个带圆角的框,并在边框上下左右都留有10个像素的边距,您可以使用 QPainter 绘制相关图形。以下是一个示例,演示如何实现:
void AddProgramWidget::paintEvent(QPaintEvent *)
{
QPainter painter(this);
QColor fillColor(255, 255, 255); // 设置矩形填充颜色
int cornerRadius = 20; // 圆角半径
int margin = 10; // 边距
QRectF rectWithMargin = rect().adjusted(margin, margin, -margin, -margin);
// 绘制矩形路径
QPainterPath path;
path.addRoundedRect(rectWithMargin, cornerRadius, cornerRadius);
// 填充矩形
painter.setRenderHint(QPainter::Antialiasing, true); // 开启抗锯齿
painter.fillPath(path, fillColor);
}
在这个例子中,我们首先通过 rect()
获取了窗口的矩形区域,并使用 adjusted()
函数调整了边距。然后,使用 addRoundedRect()
创建具有圆角的矩形路径。最后,在绘制之前开启了抗锯齿效果,并使用 fillPath()
进行填充。
希望对您有所帮助!如果还有其他问题,请随时提问。
内容由零声教学AI助手提供,问题来源于学员提问