Python Tkinter – 如何将 topLevel() 小部件相对于根窗口定位?
tkinterpythongui-programming更新于 2024/1/23 13:00:17
在 Tkinter 中,toplevel 小部件用于创建弹出模式窗口。toplevel 窗口创建的弹出窗口的工作方式与 tkinter 应用程序的默认窗口类似。它可以包含 文本小部件、按钮小部件、画布小部件、框架 等小部件。
toplevel 窗口的大小和位置可以通过使其在整个屏幕上灵活决定。在 toplevel 窗口中,所有小部件始终位于其他窗口的顶部。
您可以使用 root.winfo_x() 和 root.winfo_y() 来获取根窗口的位置。然后,您可以使用 geometry 方法将 toplevel 小部件相对于根窗口进行定位。使 toplevel 小部件相对于根窗口可防止两个窗口重叠并将它们分开。让我们举个例子来演示它是如何工作的。
示例
# 导入所需的库
from tkinter import *
# 创建 tkinter 框架或窗口的实例
win = Tk()
# 设置窗口的大小
win.geometry("700x300")
win.title("Root Window")
# 创建顶层窗口
top = Toplevel(win)
top.geometry("400x200")
# 在顶层小部件中创建标签
Label(top, text= "This is a Toplevel window", font="Calibri, 12").pack()
x = win.winfo_x()
y = win.winfo_y()
top.geometry("+%d+%d" %(x+200,y+200))
# 将顶层窗口保持在根窗口前面
top.wm_transient(win)
top.mainloop()
输出
运行上述代码将显示主窗口之外的顶层窗口。

相关文章
有用资源
python 参考教程 - 该教程包含有关 python 的更多信息:https://www.cainiaomax.com/python/

