如何获取Python Flet框架中窗口的位置?
获取Flet窗口位置的方法
Flet通过Page对象的window属性直接暴露了窗口的位置信息,你可以通过以下方式获取:
基础用法
直接读取page.window.left和page.window.top属性,它们分别对应窗口左上角相对于主显示器左上角的X、Y坐标(像素单位)。
完整示例
import flet as ft def main(page: ft.Page): # 初始化时获取窗口位置 print(f"初始窗口位置:X={page.window.left}, Y={page.window.top}") # 实时获取位置的按钮 def update_pos(e): pos_display.value = f"当前窗口位置:X={page.window.left:.2f}, Y={page.window.top:.2f}" page.update() pos_display = ft.Text() page.add(pos_display, ft.ElevatedButton("刷新位置", on_click=update_pos)) ft.app(target=main)
关键注意点
- 若窗口处于最大化/全屏状态,
left和top可能返回负数或系统定义的特殊值,这是操作系统的正常行为 - 如果你需要监听窗口移动事件,可以使用
page.window.on_moved回调(需Flet 0.20.0及以上版本支持) - 确保你的Flet版本为最新稳定版,早期版本可能未开放该接口,升级命令:
pip install --upgrade flet
内容的提问来源于stack exchange,提问作者Avo-Catto
相关产品推荐
相关产品推荐

