码迷,mamicode.com
首页 > 其他好文 > 详细

Qt Painter放大时,event处理应该注意的要点

时间:2014-10-23 09:21:19      阅读:120      评论:0      收藏:0      [点我收藏+]

标签:blog   http   os   ar   for   strong   on   问题   log   

比如当你Qt中用QPainter进行window和viewport,逻辑和物理坐标分离的形式进行绘图放大的时候,你会发现鼠标的移动和放大之后的图像有点不跟手,比如你是用QTransform进行放大变换,其实这个时候有个小窍门可以比较方便的解决这个 问题就是用反向的QTransform,比如前者进行viewport放大代码是这样QTransform trans = QTransform(zoom, 0, 0, 0, zoom, 0, 0, 0, 1)用来装饰放大物理坐标,那在处理event的时候就可以QTransform trans = QTransform(1 / zoom, 0, 0, 0, 1 / zoom, 0, 0, 0, 1)来反向处理,其中要注意的是当封装点击事件的时候,重载函数有pos和globalPos两个参数,有时候确实需要将globalPos也封装才能得到你的要求,需注意。

Qt Painter放大时,event处理应该注意的要点

标签:blog   http   os   ar   for   strong   on   问题   log   

原文地址:http://www.cnblogs.com/rickyk/p/4044876.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!