Qt 3D UI
整了个花活0.0,在没改Qt源码的情况下,可以很轻松地将一个QWidget进行3D变换。 原理:
-
通过前后两个四边形区域算出中心投影变换矩阵
-
利用中心投影变换矩阵在QApplication中重新映射鼠标位置相关的事件
-
通过QRHI和GraphicsEffect的机制,结合变换矩阵,重新绘制图像
-
根据目标四边形的位置,自动伸缩绘制区域 目前还有一些问题:
-
弹出窗口的位置有偏差
-
焦点事件也对不上
不过现在能做好多有意思的东西了~
整了个花活0.0,在没改Qt源码的情况下,可以很轻松地将一个QWidget进行3D变换。 原理:
通过前后两个四边形区域算出中心投影变换矩阵
利用中心投影变换矩阵在QApplication中重新映射鼠标位置相关的事件
通过QRHI和GraphicsEffect的机制,结合变换矩阵,重新绘制图像
根据目标四边形的位置,自动伸缩绘制区域 目前还有一些问题:
弹出窗口的位置有偏差
焦点事件也对不上
不过现在能做好多有意思的东西了~