引言

在窗口中绘制矩形,只需重写paintEvent()函数,在重回函数中实现绘制矩形便可。但在窗口的某一个子部件中实现绘制矩形,此时就需重写事件过滤函数,在指定的子部件的绘图事件实现绘制矩形。

结构

窗口部件的组成如下图,现需在子部件widget中实现绘制矩形。

实现

重写事件过滤,在指定电子部件的绘图事件下实现绘制矩形。
首先安装事件过滤器
在构造函数中添加具体控件安装事件过滤器。

 ui->widget->installEventFilter(this);ui->backWidget->installEventFilter(this);

重写事件过滤函数,在事件过滤函数中实现在子控件中的绘制矩形操作。

bool LayoutShowForm::eventFilter(QObject *watched, QEvent *event)
{if (watched == ui->widget && event->type() == QEvent::Paint) {paintLayout(ui->widget);return true;}else if (watched == ui->backWidget && event->type() == QEvent::Paint) {paintLayoutPreBoardLine(ui->backWidget);return true;}return false;
}
void LayoutShowForm::paintLayout(QWidget *widget)
{QPainter painter(widget);QPen pen;pen.setBrush(QBrush(QColor(255,255,255,255)));painter.setPen(pen);QBrush brush(QColor(104,216,204,255));painter.setBrush(brush);for (int i = 0; i < m_layoutInfo.size(); ++i) {painter.drawRect(QRect(m_layoutInfo[i].x,m_layoutInfo[i].y,m_layoutInfo[i].width,m_layoutInfo[i].height));}}

上述截取部分代码,读者只需看懂思路便可,后面两个函数是具体的绘制功能,与当时业务有关,读者自行编写自己的绘制函数。

qt在窗口的子部件中绘制矩形相关推荐

  1. 矩形做成翻页的效果html5,HTML5 在canvas中绘制矩形附效果图

    一.绘制矩形 canvas使用原点(0,0)在左上角的坐标系统,x坐标向右递增,y坐标向下递增. 使用绘图环境的矩形绘制函数来绘制矩形. fillRect(x,y,width,height) : 绘制 ...

  2. Cesium中绘制矩形,根据四角/对角坐标绘制矩形

    Cesium中绘制矩形,根据四角/对角坐标绘制矩形 import store from '@/store/index' import * as Cesium from 'cesium'export d ...

  3. 如何解决QT视频会议窗口在拉伸过程中整个界面闪烁的问题

    一.问题描述 开发环境:Qt5.15.0.Win10. Visual studio 2019.C++ 在开发视频会议项目的过程中,被一个问题困扰了很久.就是整个视频会议的界面在拉伸四周改变大小的过程中 ...

  4. Qt / 伪状态和子部件

    伪状态 描述 :checked button 部件被选中 :unchecked button 部件未被选中 :disabled 部件被禁用 :enabled 部件被启用 :focus 部件获得焦点 : ...

  5. HTML5 Canvas中绘制矩形

    绘制矩形 上一节,我们使用lineTo()方法绘制一个封闭的矩形.其实,canvas的API提供了rect()方法可以绘制矩形.rect()方法是路径方法,它会把指定的矩形添加到当前路径的子路径中.它 ...

  6. html5绘制矩形动画,HTML5 Canvas中绘制矩形实例

    本文翻译自Steve Fulton & Jeff Fulton HTML5 Canvas, Chapter 2, "The Basic Rectangle Shape". ...

  7. C#在控件中绘制矩形、圆、线段等(切换不同的图片,自定义翻页控件,通过委托监控某个字段)

    1.效果展示 2 自定义翻页控件 public partial class PageManagemen : UserControl{/// <summary>/// 当前页(从1开始计数) ...

  8. python绘制矩形图_Python。在底图中绘制矩形

    我需要在底图中添加几个矩形.我需要四个矩形,纬度和对数范围如下.在 1)llcrnrlon=-10,urcrnlon=10,llcrnrlat=35,urcrnlat=60 2)llcrnrlon=1 ...

  9. PyQt中如何在子部件(child Widget)中调用父部件(parent Widget)中的方法

    如果你也想赚钱,实现财务自由,但接触不到优质的人脉和资源,可以到公June浩:成长home,发"资源" ,就会看到我吐血整理的168条保姆级零基础吸金秘籍,跟着我一起亲历毕业5年. ...

最新文章

  1. sql数据库系统表和mysql系统表
  2. 如何快速高效读懂1本书?|阅读
  3. Codeforces Round #720 (Div. 2) C. Nastia and a Hidden Permutation 交互
  4. Windows7与苹果雪豹的绝版PK
  5. 【jQuery笔记Part1】10-jQuery操作html-获取设置
  6. 总结《An Introduction to Ray Tracing》
  7. Java IO流学习总结(1)
  8. 解决ajax跨域请求 (总结)
  9. 新版淘宝宽屏轮播代码带缩略图
  10. 汇编语言程序设计基础知识
  11. 《智慧城市 顶层设计指南》解读与指导
  12. 有道智云(表格OCR)API调用流程
  13. 计算机键盘的认识,认识键盘和使用键盘的方法
  14. 什么是商业智能(BI),就看这篇文章足够了
  15. 车联网白皮书 (网联自动驾驶分册)
  16. 408最后20天冲刺阶段应该注意的问题
  17. html抓取网址某链接,URL 筛选小工具 提取网页中的链接地址
  18. 如何进入机械革命官网 下载驱动
  19. vue Can‘t resolve ‘./cptable‘ in ‘xxx\node_modules_xlsx
  20. ios MD5加盐加密

热门文章

  1. 【机器学习】AI系统实时监测独居老人症状
  2. K8S从懵圈到熟练 - 节点下线姊妹篇
  3. 黑科技揭秘:阿里云如何做到从业务宕机到恢复业务运行只用一分半钟时间
  4. 语义分割概念及应用介绍
  5. 机器学习算法概述:随机森林逻辑回归
  6. 写时复制就这么几行代码,还是不会?
  7. ESL:我们如何使用首云混合云产品实现提效降本
  8. 为什么说下一个十年的主战场在Serverless?
  9. vue 前期准备,项目结构
  10. var let const 区别