• 3896阅读
  • 4回复

[提问]求解当拖动一个widget覆盖另一个widget时,被覆盖的widget如何获取鼠标坐标 [复制链接]

上一主题 下一主题
离线网事如风
 

只看楼主 倒序阅读 楼主  发表于: 2013-02-19
RT
其实我是想做一个dock窗口(类似于IDA Pro的dock),可以停靠在另一个widget
后来发现用QDrag可以实现,但是还是想知道到底有没有方式可以不用QDrag实现
求指点
下面是测试的代码
测试代码 MouseMoveTest.7z (2 K) 下载次数:4

离线pxiao_xiao

只看该作者 1楼 发表于: 2013-02-20
如果存在父子这样关系的widget 可以用friend class
在子widget的鼠标事件里调用父的相应的鼠标事件 然后在父widget的鼠标事件处理中进行坐标数学运算
如果是clicked事件 就能调用父widget的对应clicked的自定义的处理函数

如果不存在这样的关系 有种2B的处理的方法  定义一个链表 存放上你所有的widget 再定义函数处理所有的widget的坐标位置和大小对比 有重叠就调用被被重叠的那个鼠标事件
离线网事如风

只看该作者 2楼 发表于: 2013-02-20
那有木有从某个点获取这个点所在的widget指针的方法?只能自己实现吗?
离线pxiao_xiao

只看该作者 3楼 发表于: 2013-02-20
有没有 ? 有的话 高手看到了会告诉你的
离线网事如风

只看该作者 4楼 发表于: 2013-02-20
哦,我知道了,谢谢楼上
快速回复
限100 字节
 
上一个 下一个