V2EX = way to explore
V2EX 是一个关于分享和探索的地方
Sign Up Now
For Existing Member  Sign In
Variazioni
V2EX  ›  Flutter

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

  •  
  •   Variazioni ·
    Var-iazioni · Feb 6, 2025 · 2657 views
    This topic created in 457 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   ·   2984 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 31ms · UTC 06:20 · PVG 14:20 · LAX 23:20 · JFK 02:20
    ♥ Do have faith in what you're doing.