如何指定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
相关产品推荐
相关产品推荐

