• 6281阅读
  • 5回复

[提问]QT鼠标事件记录 并模拟鼠标事件 [复制链接]

上一主题 下一主题
离线丸子
 
只看楼主 正序阅读 楼主  发表于: 2013-12-11
如题,有在网上查到通过发送一个keyevent的消息,可是具体不知道后面该怎么办,是否需要一个接收函数?
QCoreApplication::sendEvent( this, new QMouseEvent(QEvent::MouseButtonPress, p, Qt::RightButton, Qt::RightButton, Qt::NoModifier ) )
QCoreApplication::sendEvent( this, new QMouseEvent(QEvent::MouseButtonRelease, p, Qt::RightButton, Qt::RightButton, Qt::NoModifier ) )
上面这个是我的发送消息语句,情况是这样的, 我要在弹出的一个dialog (假设为class A)里面通过点击一个start,然后开始去记录鼠标事件,但是需要记录的鼠标事件,和之后要模拟鼠标事件都是在另外一个widget类 (假设为class B )里面, 我现在这个是在B里面试验一下鼠标模拟点击右键,可是发送后就没有反应了,我看网上说有一个accept的函数,可是我在widget类和keyevent都没有找到这个函数,不知道后面该怎么办,还有就是那两个类之间,是否应该是应该在A里面调用B的keyPressEvent, 可是为什么在A里面申明一个函数void keyPressEvent(QKeyEvent *kEvent);  但是在cpp里面报错declaration is incompatible with “void keyPressEvent( < erroe-type > *kEvent )”  ??

新手菜鸟。。。。。求指教。。。。。。。。。。
离线丸子
只看该作者 5楼 发表于: 2013-12-12
回 4楼(dbzhang800) 的帖子
恩恩 ,应该是这么个意思,这个过滤器是应该放在监听的那个widget中么,然后过滤掉只剩下被监听那个widget的事件?是那个eventfilter么?
离线dbzhang800

只看该作者 4楼 发表于: 2013-12-12
你是说,“在一个Widget中,监听同一程序内另一个Widget中的鼠标事件” ?

如果如此,直接用事件过滤器应该就可以了吧
离线丸子
只看该作者 3楼 发表于: 2013-12-12
回 2楼(friendbaby) 的帖子
我不知道该怎样去“跨越”窗口,就是说我有一个弹出的dialog, 然后在这里面有一个start的按键,在这个按键触发以后,我希望能再去别的widget操作,但是他也能捕捉到在别的widget的鼠标操作的数据。。。。。 这个描述能听懂么?
离线friendbaby

只看该作者 2楼 发表于: 2013-12-11
你描述的不清楚,看不懂。你可以直接说你想实现什么样的效果。
Smiling is best language , can express everything , also can conceal everything.
离线丸子
只看该作者 1楼 发表于: 2013-12-11
能不能有个人来一下。。。。。。。。。
快速回复
限100 字节
 
上一个 下一个