Qt鹰眼
来源:互联网 发布:免费手机文档编辑软件 编辑:程序博客网 时间:2024/05/12 23:18
最近使用Qt的图形视图功能,设计了一个简单的地图鹰眼,功能主要分为三个方面:
1.鹰眼图中的矩形框对应QgraphicsView当前视口上的图形,这是鹰眼的基本原则。
鹰眼视图直接采用地图图片实现即可,重载Qwidget的paintEvent事件,根据当前视口显示的Rect以及鹰眼和主视图之间的比例关系,换算得出矩形框的大小和位置,直接画矩形即可。
2.主视图的缩放、移动、拖拽,鹰眼矩形框也要跟着移动。
重载QgraphicsView的paintEvent事件,每次视图刷新时,获取当前视口的位置,并通过坐标系转换,得出在场景中的逻辑坐标,并发送信号事件,通知鹰眼视图改变其矩形框。
QRectF Rect=this->mapToScene(this->viewport()->rect()).boundingRect();
emit viewChanged(rect);
3.鹰眼图框移动时,主视图的视口也要跟着移动。
重载鹰眼视图的鼠标释放事件,获取当前矩形框的位置大小,并根据鹰眼和主视图之间的比例关系,转换得出对应视口的位置和大小,并发送信号,通知主视图移动视口。
主视图移动视口有两种方法,一种是通过QgraphicsView的centerOn()事件,使视口的中心和鹰眼图对应的中心重合,即可调整视口;第二种是通过setSceneRect,直接调整显示在视口的场景矩形,但是这样会导致当前滑动条消失,因为窗口默认当前放大倍数为1.不会出现滑动条,容易导致视图显示与前期显示不一致。
- Qt鹰眼
- Qt之实现简单鹰眼
- 鹰眼
- 鹰眼
- 地图鹰眼
- GIS2004鹰眼
- webgis鹰眼
- GIS鹰眼
- 挑战鹰眼
- 鹰眼功能
- AO鹰眼
- ov7725鹰眼
- VC+MapX鹰眼实现
- VC+MapX鹰眼实现
- 做鹰眼图
- 索隆 与 鹰眼 对话
- AE 中鹰眼实现
- eagle eyes(鹰眼)--观后瞎想
- HashMap高并发死循环相关文章
- 如何把Https网站中的安全证书导入到java中的cacerts证书库
- MFC中常用数据类型转换及文件和对话框和几个控件的使用
- 表单中多个按钮调用不同的action?
- 第9周实验报告3
- Qt鹰眼
- windows phone 7 上几种实现Timer效果的方法
- android生命周期方法简要记录
- UNP函数笔记十一: 高级I/O函数
- 理解库函数的区别和系统调用
- ELisp编程五:解析器相关
- zencart调用JS的插件
- 搜索歌曲格式
- 新手伤不起啊,esclipse中servlet和jsp的配置,也许,404并不是路径问题