绘制缩放样例程序
思路:
1、窗口初始化时会存在大小。则对应的Image大小与窗口等同。 此时X缩放因子1.0,Y向缩放因子1.0. 将窗口屏幕区域按设定行列来划分,形成一个行列单元格,
这个单元格用来做快速对象检索作用(单元格通过QHash保存)。
2、设置直线对象到本窗口后,需要进行直线对象与对应单元格建立归属关联(通过判断直线对象的起点以及终点来进行归属,通过QMultiHash来完成保存-KEY是QPair(行列键值对))
3、注意,在每次窗口被resize时,快速对象检索hash需要被重新计算(区域块重新计算),也需要重新将直线对象与对应单元格建立归属关联
4、在鼠标进行按下拖拽橡皮筋后进行 缩放,需要记录缩放区起点位置。
5、
没有合适的资源?快使用搜索试试~ 我知道了~
LineBreakDraw-QT.rar
共11个文件
cpp:4个
h:3个
user:1个
需积分: 5 0 下载量 34 浏览量
2024-03-22
18:22:14
上传
评论
收藏 12KB RAR 举报
温馨提示
使用Qt QPainter直接绘制实现缩放的样例‘ 本样例程序实现功能要点** 1、QPainter实现甘特图绘制(使用随机直线代替甘特图Item,需要扩充则更改直线为矩形Item)。 2、实现对绘制图形的橡皮筋缩放(包含局部缩放)。 3、实现对象的击中算法(这里实现仅仅实现直线击中:注意该直线击中是任意直线) 4、实现在绘制对象超多时的快速检索算法。 5、实现击中对象的Tips功能。
资源推荐
资源详情
资源评论
收起资源包目录
LineBreakDraw_QT.rar (11个子文件)
LineBreakDraw_QT
widget.ui 441B
LineBreakDraw.pro 1KB
widget.cpp 15KB
hx_tooltips.h 380B
hx_transparent.h 854B
main.cpp 175B
LineBreakDraw.pro.user 44KB
hx_transparent.cpp 1014B
hx_tooltips.cpp 348B
readme.txt 856B
widget.h 4KB
共 11 条
- 1
资源评论
hutian1993
- 粉丝: 1
- 资源: 151
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- Numpy数组和矩阵运算(2.数组运算)
- 基于Matlab 实现粒子滤波的多雷达多目标检测前跟踪算法
- Numpy数组和矩阵运算(1.创建数组)
- 基于C++实现多目标跟踪系统
- 基于单片机的压力流量报警器(附代码+proteus仿真+论文)
- 基于 Flask 的请假审批管理系统设计与实现
- Test Report TC-24-37 MQ012K0VPY 25.764-28.476MHz.SchDoc
- Java项目-基于Springboot+Vue的校园博客系统的设计与实现(源码+万字LW+部署视频+代码讲解视频+全套软件)
- 服务器虚拟化工具VMware vSphere Client for windows(VMware-viclient-all-6)
- 文件批量改名工具,用于替换/更改字符,更改文件后缀等
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功