# 隐藏控件
tl.pack_forget()
tb.pack_forget()
# 显示控件
tl.pack()
tb.pack()
如果您使用 grid 布局管理器,则可以使用 grid_remove() 方法将控件隐藏,使用 grid() 方法将控件显示。例如:
# 隐藏控件
tl.grid_remove()
tb.grid_remove()
# 显示控件
tl.grid()
tb.grid()
对于 Frame 中的控件,您可以使用 pack_slaves() 或 grid_slaves() 方法来获取所有控件的列表。例如:
# 获取 Frame 中的所有控件
slaves = fm.pack_slaves()
# 获取第二个控件
second_slave = slaves[1]
对于一些控件,例如 Label 和 Button,您可以使用 config() 方法来更改其属性。例如,您可以使用以下代码来更改标签的文本:
tl.config(text='新文本')
对于更复杂的布局,您可以使用 Tkinter 的组合容器,例如 PanedWindow 和 Notebook,将多个控件
组合在一起。这样,您就可以通过对组合容器进行操作来控制多个控件的显示和隐藏。
例如,您可以使用 PanedWindow 将多个控件放置在水平或垂直分隔条上,然后使用 forget() 方法隐藏某个控件。例如:
import tkinter as tk
root = tk.Tk()
# 创建 PanedWindow 容器
pw = tk.PanedWindow(root, orient=tk.HORIZONTAL)
# 创建标签和按钮
tl = tk.Label(pw, text='标签')
tb = tk.Button(pw, text='按钮')
# 将控件添加到 PanedWindow 中
pw.add(tl)
pw.add(tb)
# 将 PanedWindow 放置在窗口中
pw.pack()
# 隐藏按钮
tb.pack_forget()
root.mainloop()
对于更复杂的布局,您还可以使用 Notebook 将多个控件组合成选项卡。例如:
import tkinter as tk
root = tk.Tk()
# 创建 Notebook 容器
nb = tk.Notebook(root)
# 创建标签和按钮
tl = tk.Label(nb, text='标签')
tb = tk.Button(nb, text='按钮')
# 将控件添加到 Notebook 中
nb.add(tl, text='标签选项卡')
nb.add(tb, text='按钮选项卡')
# 将 Notebook 放置在窗口中
nb.pack()
root.mainloop()