first commit
This commit is contained in:
27
utils.py
Normal file
27
utils.py
Normal file
@@ -0,0 +1,27 @@
|
||||
import tkinter as tk
|
||||
|
||||
def center_toplevel_window(toplevel_window, parent_window):
|
||||
"""
|
||||
将一个 Toplevel 窗口相对于其父窗口居中。
|
||||
:param toplevel_window: 要居中的 Toplevel 窗口实例。
|
||||
:param parent_window: 父窗口实例 (通常是 tk.Tk 或另一个 Toplevel)。
|
||||
"""
|
||||
toplevel_window.update_idletasks() # 确保窗口已经渲染,以便获取正确的尺寸
|
||||
|
||||
# 获取父窗口的几何信息
|
||||
parent_width = parent_window.winfo_width()
|
||||
parent_height = parent_window.winfo_height()
|
||||
parent_x = parent_window.winfo_x()
|
||||
parent_y = parent_window.winfo_y()
|
||||
|
||||
# 获取 Toplevel 窗口自身的几何信息
|
||||
window_width = toplevel_window.winfo_width()
|
||||
window_height = toplevel_window.winfo_height()
|
||||
|
||||
# 计算新的 x, y 坐标,使 Toplevel 窗口居中
|
||||
x = parent_x + (parent_width // 2) - (window_width // 2)
|
||||
y = parent_y + (parent_height // 2) - (window_height // 2)
|
||||
|
||||
# 设置 Toplevel 窗口的几何位置
|
||||
toplevel_window.geometry(f"+{x}+{y}")
|
||||
|
||||
Reference in New Issue
Block a user