Qt 通过鼠标拖动实现图形旋转

guguodong25 2012-10-16 11:12:30
如何实现通过鼠标拖动随使用者的意愿随意旋转图形,来满足使用者的需求!要求达到随鼠标拖动实现任意旋转!
...全文
857 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
blunder 2012-10-18
  • 打赏
  • 举报
回复
哈~现在问旋转的突然多了起来
壶心明月rchid 2012-10-18
  • 打赏
  • 举报
回复
同问~
  • 打赏
  • 举报
回复
hey~可以参考老夏给的那个例子哈。

还有反三角函数很多C库都有的哈。可以google下。
xiachm 2012-10-17
  • 打赏
  • 举报
回复
我不是已经给你了吗?
guguodong25 2012-10-17
  • 打赏
  • 举报
回复
使用图形框架怎么实现图形的任意旋转?给出详细的代码可以吗?
  • 打赏
  • 举报
回复
1 角度 cosA=b方+c方-a方/2*b*c
2 Qt::ZAxis 表示Z轴旋转~~
3 顺时针逆时针? 三个点的坐标都知道了。肯定就能判断啦~~

xiachm 2012-10-16
  • 打赏
  • 举报
回复
参考Qt官方的Demo:

http://doc.qt.digia.com/stable/demos-affine.html
guguodong25 2012-10-16
  • 打赏
  • 举报
回复
旋转角度:rotateAngle如何确定?用鼠标拖动既可以顺时针拖动也可以逆时针拖动;transform.rotate(rotateAngle, Qt::ZAix?); Qt::ZAix?代表什么含义?
  • 打赏
  • 举报
回复
给个思路:

1 确定旋转中心坐标。centerPos;
2 mousePressEvent( xxxx e) e->pos()获得按下时的坐标 pressPos;
3 mouseMoveEvent(xxxx e)里面。 e->pos()获得当前坐标 movePos;
4 centerPos ,pressPos movePos三点确定旋转角度。rotateAngle;
5 QTransform transform;
transform.rotate(rotateAngle, Qt::ZAix?);
this->setTransform(transform);

6 done.
  • 打赏
  • 举报
回复
使用图形框架简单些
guguodong25 2012-10-16
  • 打赏
  • 举报
回复
allencui0313 您好!
你能不能给出详细的代码 我是刚学Qt 不怎么明白!请你多多赐教!不胜感激!

16,214

社区成员

发帖
与我相关
我的任务
社区描述
Qt 是一个跨平台应用程序框架。通过使用 Qt,您可以一次性开发应用程序和用户界面,然后将其部署到多个桌面和嵌入式操作系统,而无需重复编写源代码。
社区管理员
  • Qt
  • 亭台六七座
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧