1个应用程序如何造出2个Cursor?

时间:2021-08-29 22:54:52
我有两个widget窗体在屏幕上,一个widget A ,一个widget B:
1个应用程序如何造出2个Cursor?

在这里,可以把B理解为A的影子,它们是同一个类的不同实例。

我希望实现的效果是,当我鼠标在A上乱动时,B也有相同的鼠标假象在动;当鼠标在B上乱动时,A也一样。

值得一提的是,A和B是一个应用程序中的,并非2个应用程序。我该如何处理?
期待各路大侠的ideas ~

14 个解决方案

#1


怎么可能有两个鼠标,放电影呗,鼠标在a时b全刷a的实时图像,反过来一样。

#2


自己捕获鼠标move,然后模拟计算是在A还是B,计算对应B和A中的位置,自己draw,没做过的瞎说说。

#3


判断鼠标所在区域内的相对位置,然后自己绘制一个假的鼠标,在另一个区域的相对位置显示就可以了吧?

#4


大家来找茬。。。效果一样。哈哈

#5


这个真没想出好的点子。。。

#6


引用 4 楼 louiswangbing 的回复:
大家来找茬。。。效果一样。哈哈


不是大家来找茬 嘿嘿~~ 

#7


该回复于2012-01-12 14:48:12被版主删除

#8


鼠标在A内移动的时候向B发送信号,然后B接收到信号就进行重绘,在paintEvent中绘制对应位置的一个鼠标模样的图标,位置可以通过信号从A发过来;同理鼠标在B移动的时候也可以给A发送信号进行重绘;不知道你A和B是什么样的widget,如果是QGraphiceScene的话可以把鼠标做成item

#9


引用 8 楼 xinqingfly 的回复:
鼠标在A内移动的时候向B发送信号,然后B接收到信号就进行重绘,在paintEvent中绘制对应位置的一个鼠标模样的图标,位置可以通过信号从A发过来;同理鼠标在B移动的时候也可以给A发送信号进行重绘;不知道你A和B是什么样的widget,如果是QGraphiceScene的话可以把鼠标做成item


我觉得这样影子widget中的鼠标不会流畅,而是一蹦一蹦的

#10


引用 9 楼 yiyaaixuexi 的回复:
引用 8 楼 xinqingfly 的回复:

鼠标在A内移动的时候向B发送信号,然后B接收到信号就进行重绘,在paintEvent中绘制对应位置的一个鼠标模样的图标,位置可以通过信号从A发过来;同理鼠标在B移动的时候也可以给A发送信号进行重绘;不知道你A和B是什么样的widget,如果是QGraphiceScene的话可以把鼠标做成item


我觉得这样影子widget中的鼠标不会流……


那把另外一个widget上的鼠标做成一个无外框的对话框,然后使用move进行操作是不是快一点

#11


引用 10 楼 xinqingfly 的回复:
引用 9 楼 yiyaaixuexi 的回复:
引用 8 楼 xinqingfly 的回复:

鼠标在A内移动的时候向B发送信号,然后B接收到信号就进行重绘,在paintEvent中绘制对应位置的一个鼠标模样的图标,位置可以通过信号从A发过来;同理鼠标在B移动的时候也可以给A发送信号进行重绘;不知道你A和B是什么样的widget,如果是QGraphiceScene的话可以把鼠标做成item……


这个想法有意思 1个应用程序如何造出2个Cursor?,我试一试!

#12


引用 10 楼 xinqingfly 的回复:
引用 9 楼 yiyaaixuexi 的回复:
引用 8 楼 xinqingfly 的回复:

鼠标在A内移动的时候向B发送信号,然后B接收到信号就进行重绘,在paintEvent中绘制对应位置的一个鼠标模样的图标,位置可以通过信号从A发过来;同理鼠标在B移动的时候也可以给A发送信号进行重绘;不知道你A和B是什么样的widget,如果是QGraphiceScene的话可以把鼠标做成item……


无敌卡,跟不上…… 

#13


引用 12 楼 yiyaaixuexi 的回复:
引用 10 楼 xinqingfly 的回复:

引用 9 楼 yiyaaixuexi 的回复:
引用 8 楼 xinqingfly 的回复:

鼠标在A内移动的时候向B发送信号,然后B接收到信号就进行重绘,在paintEvent中绘制对应位置的一个鼠标模样的图标,位置可以通过信号从A发过来;同理鼠标在B移动的时候也可以给A发送信号进行重绘;不知道你A和B是什么样的widget,如果是……


你的硬件平台CPU和内存是多少啊?

#14


该回复于2012-01-15 09:56:55被版主删除

#1


怎么可能有两个鼠标,放电影呗,鼠标在a时b全刷a的实时图像,反过来一样。

#2


自己捕获鼠标move,然后模拟计算是在A还是B,计算对应B和A中的位置,自己draw,没做过的瞎说说。

#3


判断鼠标所在区域内的相对位置,然后自己绘制一个假的鼠标,在另一个区域的相对位置显示就可以了吧?

#4


大家来找茬。。。效果一样。哈哈

#5


这个真没想出好的点子。。。

#6


引用 4 楼 louiswangbing 的回复:
大家来找茬。。。效果一样。哈哈


不是大家来找茬 嘿嘿~~ 

#7


该回复于2012-01-12 14:48:12被版主删除

#8


鼠标在A内移动的时候向B发送信号,然后B接收到信号就进行重绘,在paintEvent中绘制对应位置的一个鼠标模样的图标,位置可以通过信号从A发过来;同理鼠标在B移动的时候也可以给A发送信号进行重绘;不知道你A和B是什么样的widget,如果是QGraphiceScene的话可以把鼠标做成item

#9


引用 8 楼 xinqingfly 的回复:
鼠标在A内移动的时候向B发送信号,然后B接收到信号就进行重绘,在paintEvent中绘制对应位置的一个鼠标模样的图标,位置可以通过信号从A发过来;同理鼠标在B移动的时候也可以给A发送信号进行重绘;不知道你A和B是什么样的widget,如果是QGraphiceScene的话可以把鼠标做成item


我觉得这样影子widget中的鼠标不会流畅,而是一蹦一蹦的

#10


引用 9 楼 yiyaaixuexi 的回复:
引用 8 楼 xinqingfly 的回复:

鼠标在A内移动的时候向B发送信号,然后B接收到信号就进行重绘,在paintEvent中绘制对应位置的一个鼠标模样的图标,位置可以通过信号从A发过来;同理鼠标在B移动的时候也可以给A发送信号进行重绘;不知道你A和B是什么样的widget,如果是QGraphiceScene的话可以把鼠标做成item


我觉得这样影子widget中的鼠标不会流……


那把另外一个widget上的鼠标做成一个无外框的对话框,然后使用move进行操作是不是快一点

#11


引用 10 楼 xinqingfly 的回复:
引用 9 楼 yiyaaixuexi 的回复:
引用 8 楼 xinqingfly 的回复:

鼠标在A内移动的时候向B发送信号,然后B接收到信号就进行重绘,在paintEvent中绘制对应位置的一个鼠标模样的图标,位置可以通过信号从A发过来;同理鼠标在B移动的时候也可以给A发送信号进行重绘;不知道你A和B是什么样的widget,如果是QGraphiceScene的话可以把鼠标做成item……


这个想法有意思 1个应用程序如何造出2个Cursor?,我试一试!

#12


引用 10 楼 xinqingfly 的回复:
引用 9 楼 yiyaaixuexi 的回复:
引用 8 楼 xinqingfly 的回复:

鼠标在A内移动的时候向B发送信号,然后B接收到信号就进行重绘,在paintEvent中绘制对应位置的一个鼠标模样的图标,位置可以通过信号从A发过来;同理鼠标在B移动的时候也可以给A发送信号进行重绘;不知道你A和B是什么样的widget,如果是QGraphiceScene的话可以把鼠标做成item……


无敌卡,跟不上…… 

#13


引用 12 楼 yiyaaixuexi 的回复:
引用 10 楼 xinqingfly 的回复:

引用 9 楼 yiyaaixuexi 的回复:
引用 8 楼 xinqingfly 的回复:

鼠标在A内移动的时候向B发送信号,然后B接收到信号就进行重绘,在paintEvent中绘制对应位置的一个鼠标模样的图标,位置可以通过信号从A发过来;同理鼠标在B移动的时候也可以给A发送信号进行重绘;不知道你A和B是什么样的widget,如果是……


你的硬件平台CPU和内存是多少啊?

#14


该回复于2012-01-15 09:56:55被版主删除