qt在窗口的子部件中绘制矩形
引言
在窗口中绘制矩形,只需重写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在窗口的子部件中绘制矩形相关推荐
- 矩形做成翻页的效果html5,HTML5 在canvas中绘制矩形附效果图
一.绘制矩形 canvas使用原点(0,0)在左上角的坐标系统,x坐标向右递增,y坐标向下递增. 使用绘图环境的矩形绘制函数来绘制矩形. fillRect(x,y,width,height) : 绘制 ...
- Cesium中绘制矩形,根据四角/对角坐标绘制矩形
Cesium中绘制矩形,根据四角/对角坐标绘制矩形 import store from '@/store/index' import * as Cesium from 'cesium'export d ...
- 如何解决QT视频会议窗口在拉伸过程中整个界面闪烁的问题
一.问题描述 开发环境:Qt5.15.0.Win10. Visual studio 2019.C++ 在开发视频会议项目的过程中,被一个问题困扰了很久.就是整个视频会议的界面在拉伸四周改变大小的过程中 ...
- Qt / 伪状态和子部件
伪状态 描述 :checked button 部件被选中 :unchecked button 部件未被选中 :disabled 部件被禁用 :enabled 部件被启用 :focus 部件获得焦点 : ...
- HTML5 Canvas中绘制矩形
绘制矩形 上一节,我们使用lineTo()方法绘制一个封闭的矩形.其实,canvas的API提供了rect()方法可以绘制矩形.rect()方法是路径方法,它会把指定的矩形添加到当前路径的子路径中.它 ...
- html5绘制矩形动画,HTML5 Canvas中绘制矩形实例
本文翻译自Steve Fulton & Jeff Fulton HTML5 Canvas, Chapter 2, "The Basic Rectangle Shape". ...
- C#在控件中绘制矩形、圆、线段等(切换不同的图片,自定义翻页控件,通过委托监控某个字段)
1.效果展示 2 自定义翻页控件 public partial class PageManagemen : UserControl{/// <summary>/// 当前页(从1开始计数) ...
- python绘制矩形图_Python。在底图中绘制矩形
我需要在底图中添加几个矩形.我需要四个矩形,纬度和对数范围如下.在 1)llcrnrlon=-10,urcrnlon=10,llcrnrlat=35,urcrnlat=60 2)llcrnrlon=1 ...
- PyQt中如何在子部件(child Widget)中调用父部件(parent Widget)中的方法
如果你也想赚钱,实现财务自由,但接触不到优质的人脉和资源,可以到公June浩:成长home,发"资源" ,就会看到我吐血整理的168条保姆级零基础吸金秘籍,跟着我一起亲历毕业5年. ...
最新文章
- sql数据库系统表和mysql系统表
- 如何快速高效读懂1本书?|阅读
- Codeforces Round #720 (Div. 2) C. Nastia and a Hidden Permutation 交互
- Windows7与苹果雪豹的绝版PK
- 【jQuery笔记Part1】10-jQuery操作html-获取设置
- 总结《An Introduction to Ray Tracing》
- Java IO流学习总结(1)
- 解决ajax跨域请求 (总结)
- 新版淘宝宽屏轮播代码带缩略图
- 汇编语言程序设计基础知识
- 《智慧城市 顶层设计指南》解读与指导
- 有道智云(表格OCR)API调用流程
- 计算机键盘的认识,认识键盘和使用键盘的方法
- 什么是商业智能(BI),就看这篇文章足够了
- 车联网白皮书 (网联自动驾驶分册)
- 408最后20天冲刺阶段应该注意的问题
- html抓取网址某链接,URL 筛选小工具 提取网页中的链接地址
- 如何进入机械革命官网 下载驱动
- vue Can‘t resolve ‘./cptable‘ in ‘xxx\node_modules_xlsx
- ios MD5加盐加密