first commit

This commit is contained in:
zj
2026-02-04 21:16:33 +08:00
commit 1104e7dc13
36 changed files with 18789 additions and 0 deletions

27
utils.py Normal file
View 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}")