在按钮上隐藏框架按tkinter python

时间:2019-03-11 00:31:52

标签: python tkinter

我的箭头东西就像一个指针。如果将其添加到代码中,则可以将其删除。不需要它,如果不删除它会弄乱您的代码

我正在使用python 2.7.1和Tkinter。

我在这里有代码:

# | this is where the show frame part is. |
# |---------------------------------------|
                   |
                   |__
                     |
def click_start():   |
        |____________|
        V
   f2.pack(after=f1, anchor=W, padx=5, pady=10)

f1 = Frame(root, width=10, height=20, bd=0, bg="#dcd9d3", pady=4, 
relief=FLAT).pack(side=TOP, anchor=W)

f2 = Frame(root, width=10, height=20, bd=0, bg="black", pady=4)

file_button = ttk.Button(f1, text="File", padding=3.5, width=3.5, 
command=click_start).pack(side=LEFT)

我现在不知道如何隐藏名为f2的框架。我想要它,以便当我按下文件按钮时,它将显示名为f2的框架(我已经完成了这一部分。)

现在,如果我再次按下文件按钮,则需要将其隐藏。

然后我需要循环此函数,以便可以无限执行此操作。

2 个答案:

答案 0 :(得分:0)

在框架上使用pack()后,可以使用pack_forget()从当前包装管理器中移除框架。如果要切换框架的可见性,可以使用winfo_manager()来检查框架是否由任何布局管理器管理。

只需修改click_start()如下:

def click_start():
    f2.pack_forget() if f2.winfo_manager() else f2.pack(after=f1, anchor=W, padx=5, pady=10)

答案 1 :(得分:0)

用于python 3

f2.pack_forget()隐藏 如果您使用f2.pack()显示

f2.grid_forget()隐藏 如果您使用f2.grid()显示

f2.place_forget()隐藏 如果您使用f2.place()来显示