QWidget/QDialog主窗体设置边框圆角

2023-10-26

1.问题:QT中窗体QWidget和QDialog为容器,不能对窗体进行边框圆角样式改变,只能通过绘图QPainter;

2.设置无上边框选项窗口

this->setWindowFlags(Qt::Widget|Qt::FramelessWindowHint); //设置无边框窗口

3.重写绘图事件,把窗体画出来;

//主窗体不能通过样式QSS(border-radius:15px),只能通过绘图改变边框圆角
void Widget::paintEvent(QPaintEvent *event)
{

    //绘制样式
    QStyleOption opt;
    opt.initFrom(this);
    QPainter p(this);
    style()->drawPrimitive(QStyle::PE_Widget, &opt, &p, this);//绘制样式

    QBitmap bmp(this->size());
    bmp.fill();
    QPainter painter(&bmp);

    painter.setPen(Qt::NoPen);
    painter.setBrush(Qt::black);
    painter.setRenderHint(QPainter::Antialiasing);
    //设置边框为圆角12px
    painter.drawRoundedRect(bmp.rect(), 12, 12);
    setMask(bmp);
    QWidget::paintEvent(event);
}

4.实现的效果

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

QWidget/QDialog主窗体设置边框圆角 的相关文章

随机推荐

  • hd630 黑苹果_黑苹果(hackintosh)技术整合指南

    更新 2019 5 15日 优化结构 去除了扩展 把他们合并到正文 把无关的东西扔后面 2019 4 10号 链接了本站大神翟海生的纯净安装教程 一位简书大佬解释和配置config文件的文章 非常详细 十分推荐 第一 常用的论坛 工具网站介
  • three.js加载管理器LoadingManager实现对纹理图片的加载监听

    一 加载管理器LoadingManager使用介绍 LoadingManager是three js中的加载管理器 用于监控和管理加载资源的过程 通过使用LoadingManager 我们可以在应用程序中方便地加载各种类型的数据 例如模型 纹
  • POJ 1811 Prime Test —— Miller_Rabin+Pollard_Rho

    http poj org problem id 1811 题意 给定一个64位整数 问是否为质数 如果不是 则输出其最小因子 分析 Miller Rabin素数判定 若不是 则Pollard Rho分解质因子 找到最小即可 Miller r
  • 【对比Java学Kotlin】作用域函数

    什么是作用域函数 首先 落脚点是函数 什么的函数呢 能在某个上下文对象 可能是普通对象 也可能是个 Unit 的作用域内执行代码的函数 这里的作用域和 Java 的作用域有所不同 Java 的作用域更多的是指一对闭合的 的内部区域 void
  • Oracle数据库环境变量配置+修改数据库密码

    1 设置环境变量 必须设置环境变量才可以用CMD命令访问Oracle数据库 1 1 首先找到你Oracle安装位置路径 C app Administrator product 11 2 0 dbhome 1 1 2 设置环境变量 1 2 1
  • RAM汇编指令的简单介绍

    一些常见的概念 指令和伪指令 指令和伪指令的本质区别 指令在编译后会生成机器码由CPU去执行 而伪指令只是指导编译的过程 本身不会生成机器码 伪指令是编译器提供的 在编译的过程中 编译器自己会去对伪指令做相应的处理 什么是汇编指令 汇编指令
  • mysql installer no packages found 解决办法

    mysql installer no packages found 解决办法 方法源于https stackoverflow com questions 65772865 mysql installer did not find packa
  • 网络层协议和IP数据包的格式(详解)

    1 网络层的功能 定义了基于IP协议的逻辑地址 就是ip地址 连接不同的媒介类型 选择数据通过网络的最佳路径 完成逻辑地址寻址 2 IP数据包格式 版本号 Version 4bit 指IP协议版本 并且通信双方使用的版本必须保持一致 目前我
  • chatGPT是什么?chatGPT有哪些应用场景

    ChatGPT是一个通过大规模预训练语言模型实现的对话生成系统 它是由OpenAI研发的 这个系统的核心技术是基于深度学习的自然语言处理技术 GPT GenerativePre trainedTransformer 模型 GPT模型采用了T
  • uni-app中的#ifdef #ifndef #endif的用处,可以处理兼容多端平台

    1 ifdef ifndef endif三者的意思 ifdef 仅在某个平台上使用 ifndef 在除了这个平台的其他平台上使用 非此平台使用 endif 结束条件编译 2 平台标识的意思 标识 平台 APP PLUS 5 App MP 微
  • 关于vmware虚拟机的deepin没有网络问题

    首先我的vmware虚拟机的deepin是采用NAT模式 配置NAT网络 配置VMnet8 在deepin中手动添加有线连接 添加设置 保存退出 用有线连接2即可
  • 微信小程序实践——实验2天气查询小程序

    一 申请和风天气的API密钥 登录和风天气 创建成功后可得到自己的key 二 域名的配置 每一个小程序在与指定域名地址进行网络通信前都必须将该域名地址添加到管理员后台白名单中 需对域名地址https devapi qweather com进
  • Search for a Range(LeetCode)

    Given an array of integers nums sorted in ascending order find the starting and ending position of a given target value
  • 【python】爬虫篇:python使用psycopg2批量插入数据(三)

    本人菜鸡 有什么错误 还望大家批评指出 最近在更新python的爬虫系列 皿 Hiahiahia 该系列暂时总共有3篇文章 连接如下 python 爬虫篇 python连接postgresql 一 https blog csdn net l
  • 查看系统使用率命令 vmstat 输出详解!

    使用效果
  • 凸包问题的五种解法

    原文 http blog csdn net yangkunpengd article details 51336453 凸包问题的五种解法 前言 首先 什么是凸包 说凸包首先要说凸性的定义 简单点说就是平面邻域中任意两点所在的线段上的点都在
  • LR(0)文法分析(通过例题穿插讲解)

    目录 LR 0 文法的字面含义 LR 0 分析表的构造 写在最后 LR 0 文法的字面含义 LR 0 分析法是其他LR分析法构造的基础 L表示从左往右扫描 R表示反向构造出一个最右推导 k表示向前看k个字符 缺省为1 在学习LR 0 分析时
  • Linux驱动框架与LED实战

    目录 驱动框架 相关文件 案例分析 LED驱动框架源码 led class c led class attrs leds class class结构体 led classdev register 某一类的设备创建 led classdev结
  • QT获取显示当前时间和日期

    获取当前时间和日期 QT中获取时间和日期的主要是 QTime QDate 和 QDateTime 这三个类 QTime 类 通过 QTime 类中提供的时间相关的方法 可以获取到当前系统时间 时 分 秒 毫秒 需要注意的是 计时的准确性由底
  • QWidget/QDialog主窗体设置边框圆角

    1 问题 QT中窗体QWidget和QDialog为容器 不能对窗体进行边框圆角样式改变 只能通过绘图QPainter 2 设置无上边框选项窗口 this gt setWindowFlags Qt Widget Qt FramelessWi