如何在不使用 .place 的情况下临时移除 Tkinter 小部件?

tkinterpythongui-programming更新于 2024/2/5 1:16:17

要将 Tkinter 小部件放置在 Frame 或 Canvas 内,您可以使用各种几何管理器。几何管理器允许您设置小部件的布局以及它们在 tkinter 窗口中的显示方式。place() 方法是最简单的几何管理器之一,用于相对且明确地设置小部件相对于窗口的位置。我们还可以使用 place() 方法将小部件彼此分开,因为它支持相对属性来相对于其他小部件定位小部件。

在某些情况下,如果您想从应用程序中临时移除特定小部件,可以使用 place_forget() 方法。您还可以使用各种几何管理器的 pack_forget() 和 grid_forget() 方法从应用程序中临时移除小部件。我们可以举一个例子来了解它的实际用例。

示例

# 导入库
from tkinter import *

# 创建窗口实例
win=Tk()

# 设置窗口的几何形状
win.geometry("700x300")

def forget_label():
   label.place_forget()

# 创建标签小部件
label=Lab​​el(win, text="This is a new Label text", font='Arial 17 bold')
label.place(relx=0.5, depend=0.2, anchor=CENTER)

# 创建按钮
button=Button(win, text="Remove It", command=forget_label)
button.place(relx=0.5, depend=0.5, anchor=CENTER)

win.mainloop()

输出

运行上述代码将显示一个带有标签小部件和按钮的窗口。

每当按下"删除"按钮时,它将从窗口中删除标签小部件。


相关文章


有用资源