You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何指定Tkinter窗口显示位置?天气应用窗口居中设置失败求助

固定Tkinter窗口启动位置(含屏幕中心精准定位)

你遇到的问题在于直接硬写屏幕中心坐标时,没有考虑不同设备的屏幕分辨率差异——固定数值只适配特定尺寸的屏幕,换设备就会失效。正确的做法是先获取当前屏幕尺寸,再通过计算得出窗口的中心坐标,最后传入geometry()方法。

实现步骤:

  • 定义窗口的固定宽高(比如你用的250x150)
  • 通过winfo_screenwidth()和winfo_screenheight()获取当前屏幕的宽高
  • 计算窗口左上角的坐标:x = (屏幕宽 - 窗口宽) // 2,y = (屏幕高 - 窗口高) // 2
  • 把计算出的坐标拼接进geometry()的参数里

完整代码示例:

import tkinter as tk

root = tk.Tk()
root.title("天气应用")

# 设定窗口固定尺寸
window_w = 250
window_h = 150

# 获取当前屏幕的分辨率
screen_w = root.winfo_screenwidth()
screen_h = root.winfo_screenheight()

# 计算屏幕中心对应的窗口左上角坐标
pos_x = (screen_w - window_w) // 2
pos_y = (screen_h - window_h) // 2

# 应用窗口尺寸和位置
root.geometry(f"{window_w}x{window_h}+{pos_x}+{pos_y}")

root.mainloop()

额外提示:

  • 如果要固定到其他位置,直接修改pos_x和pos_y即可:
    • 左上角:pos_x=0, pos_y=0 → root.geometry('250x150+0+0')
    • 右上角:pos_x = screen_w - window_w, pos_y=0
    • 左下角:pos_x=0, pos_y = screen_h - window_h

内容的提问来源于stack exchange,提问作者Aditya Aggarwal

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.15 14:36:11