仅给定全局 x,y 坐标以编程方式触发 QMouseEvent 和键盘事件

发布于 2024-11-06 12:38:13 字数 468 浏览 0 评论 0原文

MachineA 上,MouseMove 事件从屏幕捕获到 Machine BviewerWidget。来自 MachineB 小部件的 MouseClick 事件被传送到 MachineA 的屏幕。 MachineBKeyboardEvent 被传送到 MachineA。我不知道此事件在哪个小部件上触发。我所知道的是全局x,y坐标。即使对于 KeyboardEvents 也是如此。
我的问题是:

  1. 如何从desktopWidget捕获/触发MouseMove或MouseClick事件?
  2. 如何捕获/触发来自/到desktopWidget的键盘事件?

on MachineA the MouseMove events are trapped from screen to Machine B's viewerWidget. and MouseClick Events from MachineB's widget are carried to MachineA's Screen. KeyboardEvent of MachineB are carried to MachineA. I dont know on what widget this events triggered. What I know is the global x, y coordinates. even for KeyboardEvents.
My Questions are:

  1. How to trap/fire the MouseMove or MouseClick Events from/to desktopWidget ?
  2. how to trap/fire the Keyboard Events from/to desktopWidget ?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

记忆で 2024-11-13 12:38:13

与此类似的东西应该可以解决问题。

QMouseEvent* event = new QMouseEvent( QEvent::MouseButtonPress, QPoint( x, y ), button, modifiers);
QApplication::postEvent( widget, event );

Something similar to this should do the trick.

QMouseEvent* event = new QMouseEvent( QEvent::MouseButtonPress, QPoint( x, y ), button, modifiers);
QApplication::postEvent( widget, event );
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文