是否有切换/隐藏/显示tkinter按钮的方法?



我在tkinter中制作21点,而不是在现有按钮上放置按钮,我想在新游戏时切换它们。

有很多方法。一个选择(我认为是最简单的一个)是把你的按钮放在一个框架里,你可以用packpacking_forget来打包和拆包。在这种情况下,您需要另一个框架,其中按钮框架是唯一打包的小部件,因此当您再次打包按钮时,按钮将出现在相同的位置。你也可以调整框架的大小,这样当它变得很小的时候,上面的东西就不可见了。另一种选择是使用画布,其中按钮是画布对象。你可以随意移动或隐藏它们。

除了@Flavio Moraes的答案,你可以使用grid_remove()方法来保存一个小部件之前删除它(如果你不需要它了,你也可以destroy()小部件:

import tkinter as tk
from tkinter import ttk
root = tk.Tk()
root.geometry("300x80")
root.title('Toogle button')
def crea():
""" restore button """
btn.grid(column=0, row=0, sticky='nsew')

def remo():
"""remove button"""
btn.grid_remove()


def btn_off():
btn.after(1500, remo)
btn.after(3000, crea)
btn = ttk.Button(root, text='Hide', command=btn_off)
btn.grid(column=0, row=0, rowspan=2, sticky='nsew')

root.columnconfigure(0, weight=3)
root.mainloop()

最新更新