我是靠谱客的博主 神勇香水,最近开发中收集的这篇文章主要介绍Qt笔记(六十)之Qt实现无边框圆角窗口,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

一.前言
设置无边框窗口之后,就会显示直角的风格,有用户反馈说,看着太锐了,让我给换成圆角,看着舒服一点,楼主一开始想用Qss实现,发现实在不行,后边想着,估计只能用绘图事件来操作了

二.实现过程
1.实现窗口无边框效果

    setWindowFlag(Qt::FramelessWindowHint);
    setAttribute(Qt::WA_TranslucentBackground);

在这里插入图片描述
2.重写paintEvent(方式1与方式2的效果是一样的)

void ImageListWidget::paintEvent(QPaintEvent *e)
{
    QPainter painter(this);
    painter.setRenderHint(QPainter::Antialiasing); // 设置抗锯齿,不然边框会有明显锯齿
    painter.setBrush(Qt::white);                   // 设置窗体颜色
    QRect rect = this->rect();

    // 绘制方式1
    painter.drawRoundedRect(rect,10,10);

    // 绘制方式2
//    QPainterPath painterPath;
//    painterPath.addRoundedRect(rect, 10, 10);
//    painter.drawPath(painterPath);
}

在这里插入图片描述

最后

以上就是神勇香水为你收集整理的Qt笔记(六十)之Qt实现无边框圆角窗口的全部内容,希望文章能够帮你解决Qt笔记(六十)之Qt实现无边框圆角窗口所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(59)

评论列表共有 0 条评论

立即
投稿
返回
顶部