ZBLOG

void allprogram::paintEvent(QPaintEvent *) { QPainter painter(this); QColor fillColor(255, 255, 255); // 设置矩形填充颜色 int cornerRadius = 10; // 圆角半径 int margin = 0; // 边距 QRectF rectWithMargin = rect().adjusted(ma...

你可以在 paintEvent 函数中使用 QPainter 绘制一个白色矩形。根据你的需求,可以将以下代码添加到 paintEvent 函数中:

void allprogram::paintEvent(QPaintEvent *)
{
    QPainter painter(this);
    QColor fillColor(255, 255, 255); // 设置矩形填充颜色
    int cornerRadius = 10; // 圆角半径
    int margin = 0; // 边距

    QRectF rectWithMargin = rect().adjusted(margin, margin, -margin, -margin);

    // 绘制矩形路径
    QPainterPath path;
    path.addRoundedRect(rectWithMargin, cornerRadius, cornerRadius);

    // 填充矩形
    painter.setRenderHint(QPainter::Antialiasing, true); // 开启抗锯齿
    painter.fillPath(path, fillColor);

    // 在左上角绘制一个10x10的白色矩形
    QRectF smallRect(0, 0, 10, 10);
    painter.fillRect(smallRect, Qt::white);
}

在上述代码中,我们首先定义了一个颜色变量 fillColor,表示要绘制的矩形的填充颜色(这里选择了白色)。然后我们设置了圆角半径和边距。

接着,创建一个用于绘制圆角矩形的 QPainterPath,并使用 addRoundedRect() 方法指定其位置、大小和圆角半径。然后通过 setRenderHint() 方法开启抗锯齿,提高绘制质量。

最后,使用 fillPath() 方法填充矩形路径,并使用 fillRect() 方法在左上角绘制一个10x10的白色矩形。这样就完成了你想要实现的效果。记得在需要重绘时调用 update() 函数来触发 paintEvent 的执行。


内容由零声教学AI助手提供,问题来源于学员提问

本站部分文章来源于网络,版权归原作者所有,如有侵权请联系站长删除。
转载请注明出处:https://golang.0voice.com/?id=17931

分享:
扫描分享到社交APP
上一篇
下一篇
发表列表
游客 游客
此处应有掌声~
评论列表

还没有评论,快来说点什么吧~

联系我们

在线咨询: 点击这里给我发消息

微信号:3007537140

上班时间: 10:30-22:30

关注我们
x

注册

已经有帐号?