Variazioni
V2EX  ›  Flutter

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

  •  
  •   Variazioni ·
    Var-iazioni · Feb 6, 2025 · 2789 views
    This topic created in 504 days ago, the information mentioned may be changed or developed.
    例如使用 GestureDetector
    onPanUpdate: (details) {
    details.globalPosition;
    details.localPosition;
    }
    这两个获取的都是相对窗口左上角的坐标。

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