Window,发现Qt那些鼠标事件只能获取自己窗口的坐标,如何才能获取窗口外的鼠标坐标,捕捉窗口外的鼠标事件?

欲盖弥彰1314 2020-08-12 11:50:35
Window,发现Qt那些鼠标事件只能获取自己窗口的坐标,如何才能获取窗口外的鼠标坐标,捕捉窗口外的鼠标事件?各个搜索引擎搜索找了好久都没解决
...全文
1488 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
Italink 2020-08-12
  • 打赏
  • 举报
回复
如果你需要全局的鼠标键盘事件,建议用windowsAPI做鼠标钩子,网上有代码,甚至有封装好供Qt使用的
Italink 2020-08-12
  • 打赏
  • 举报
回复
可以捕获外部的移动事件,开启鼠标追踪,setMouseTracking,在外部的点击事件捕获不到,但是可以通过focusout事件知道在外部点击了
欲盖弥彰1314 2020-08-12
  • 打赏
  • 举报
回复
引用 1 楼 Jonix的回复:
有个cursor还是cursorpos是返回全局的坐标地址
这个其实我知道,关键是鼠标在QT的窗口外点击了让QT窗口知道我点击了外面😂
Jonix 2020-08-12
  • 打赏
  • 举报
回复
有个cursor还是cursorpos是返回全局的坐标地址
dext 2020-08-12
  • 打赏
  • 举报
回复
首先 这个 和 Windows 甚至是 任何 X Window 的设计 理念 相违背。
但是,有一个特殊情况 可以做到。
请 重新 陈述 你想要做的事情 和 直面 你的问题。
如果你的问题就是 你所提问的。答案是不能。即使 大费周章做到,还有更多问题。

参见, X-Y Problem https://coolshell.cn/articles/10804.html
zare戏言 2020-08-12
  • 打赏
  • 举报
回复
QCursor cur = this->cursor;
qDebug()<<cur.pos();

21,494

社区成员

发帖
与我相关
我的任务
社区描述
Qt 是一个跨平台应用程序框架。通过使用 Qt,您可以一次性开发应用程序和用户界面,然后将其部署到多个桌面和嵌入式操作系统,而无需重复编写源代码。
社区管理员
  • Qt
  • 亭台六七座
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧