当前位置: 首页 > news >正文

Qt实现圆型控件的三种方法之子类化控件并重写paintEvent

前言

最近在研究绘制各种形状的控件,这里专门挑出圆形的控件进行记录,其它形状的也大差不差,会了圆形的之后其它的也类似。

正文

这里我挑出Label来进行举例。

子类化 QLabel 并重写 paintEvent

如果需要更复杂的自定义绘制,可以通过子类化 QLabel 并重写 paintEvent 函数来实现。

void CircleLabel::paintEvent(QPaintEvent *event)
{QPainter painter(this);// 设置抗锯齿painter.setRenderHint(QPainter::Antialiasing);//载入图像QPixmap pixmap(":/images/faceBackground.PNG");// 创建圆形路径QPainterPath path;path.addEllipse(0, 0, width(), height());painter.setClipPath(path);// 填充背景颜色painter.fillPath(path, QBrush(QColor("#f7f7f7")));//绘制图像painter.drawPixmap(rect(),pixmap);// 调用父类的 paintEvent 以绘制文本QLabel::paintEvent(event);}

在这里插入图片描述


http://www.mrgr.cn/news/5786.html

相关文章:

  • webpack打包html
  • 使用docker-compose运行kafka及验证(无需zookpeer)
  • 【ORACLE】minus() 函数
  • vue3 侧边栏实现
  • 探索STM32平台中MK米客方德SD NAND的高效数据存储解决方案
  • 【每日刷题】Day105
  • 数据库系统 第22节 事务隔离级别案例分析
  • Parallels Desktop 19 for Mac破解版 附带parallels desktop 2024最新激活密钥
  • 26. CSS 继承属性速查表 内部聚焦
  • 《亿级流量系统架构设计与实战》第十一章 Timeline Feed服务
  • 命令模式:如何利用命令模式实现手游后端架构?
  • GO-REDIS的一些高级用法
  • mac GlobalProtect 连接失败
  • 【数学建模】MATLAB快速入门
  • AIoT智能物联网平台定义
  • Cesium定义并使用国家2000坐标系
  • echarts图表网站
  • redis支持的数据结构
  • 直播美颜API与视频美颜SDK的开发指南:构建高效实时美颜工具
  • 超越IP-Adapter!阿里提出UniPortrait,可通过文本定制生成高保真的单人或多人图像。