V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
Variazioni
V2EX  ›  Flutter

Flutter 开发桌面应用程序,如何获取鼠标的绝对坐标?

  •  
  •   Variazioni ·
    Var-iazioni · 6 天前 · 890 次点击
    例如使用 GestureDetector
    onPanUpdate: (details) {
    details.globalPosition;
    details.localPosition;
    }
    这两个获取的都是相对窗口左上角的坐标。

    各种渠道查询的结果,也都是只能获取相对于窗口的坐标,获取不到相对于显示器的坐标。除了使用系统原生接口外,还有什么其他的办法吗?
    5 条回复    2025-02-07 09:29:46 +08:00
    gzlock
        1
    gzlock  
       6 天前
    那就去 pub 装一个 window_manager ,隐藏 win 自带的窗口标题栏(自行模拟实现标题栏的话自己知道高度),然后获取窗口坐标+鼠标坐标就行了
    ysc3839
        2
    ysc3839  
       6 天前 via Android
    最底层还是调用系统 API ,你不想自己调的话就找第三方库吧,或者翻翻 Flutter 本身代码有没有调用对应 API
    mumbler
        3
    mumbler  
       6 天前   ❤️ 1
    你问过 AI 了吗
    Variazioni
        4
    Variazioni  
    OP
       6 天前
    @mumbler 正文里就是 AI 给的结果,ChatGPT 和 DeepSeek 都问了。如果能解决的话就不会来这里了
    Variazioni
        5
    Variazioni  
    OP
       6 天前
    @gzlock 感谢,确实可以实现,window_manager 能获取窗口左上角的绝对坐标,再和鼠标在窗口内的坐标相加就可以了。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   3647 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 22ms · UTC 04:17 · PVG 12:17 · LAX 20:17 · JFK 23:17
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.