(1) QT 里整个事件系统的继承关系如下 :

(2)QWidget 的 pos ( ) 属性,其作为容器内的控件,和作为顶层窗体时的含义时不一样的 :

++还有窗体的鼠标跟踪属性 :

(3)关于鼠标事件里提到的关于鼠标点击坐标值的成员函数的定义在这里 :

(4)巧妇难为无米之炊。以上的 QT 提供的这些功能,这些成员函数,是我们实现拖动窗体的理论依据和重要支撑。
编写小例子测试一下 :

++给出代码的第一版 :

(5)最终可以用的版本 :

(6)附录老师例题里的最佳版本,引入了曼哈顿距离,并更全面的考虑下鼠标按键 :

(7)
谢谢
4841

被折叠的 条评论
为什么被折叠?



