Python Tkinter 如何相对于根窗口定位toplevel()窗口?

Python Tkinter 如何相对于根窗口定位toplevel()窗口?

在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("根窗口")

# 创建toplevel窗口
top = Toplevel(win)
top.geometry("400x200")

# 在toplevel窗口中创建标签
Label(top, text= "这是一个toplevel窗口", font="Calibri, 12").pack()
x = win.winfo_x()
y = win.winfo_y()
top.geometry("+%d+%d" %(x+200,y+200))

# 将toplevel窗口保持在根窗口前面
top.wm_transient(win)

top.mainloop()

输出

运行上面的代码将在主窗口之外显示一个toplevel窗口。

Python Tkinter 如何相对于根窗口定位toplevel()窗口?

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程