簡體   English   中英

如何刪除嵌入在窗口中的按鈕? (Tkinter)

[英]How to remove a button embedded in the window? (Tkinter)

我為游戲創建了一個播放按鈕,我想在我們點擊它時將其刪除。

但是,我在帶有 canvas.create_window 的窗口中有它,所以我不能用“pack_forget”刪除它。

你知道如何刪除它嗎?

bouton_play=PhotoImage(file="bouton_play.gif")
Jouer=Button(fenetre,image=bouton_play,relief=FLAT,borderwidth=0,highlightthickness=0,command=debut)
canvas.create_window(144,450,window=Jouer)

將按鈕插入畫布后,必須將其視為畫布元素,並使用canvas.delete(tag_or_id)而不是widget.geometry_manager_forget()

import tkinter as tk

def debut():
    print('debut')
    canvas.delete(btnw)  # <-- this removes the window containing the button

root = tk.Tk()
canvas = tk.Canvas(root, width=500, height=500)
canvas.pack()
btn = Button(root, text='jouer', command=debut)
btnw = canvas.create_window(200, 200, window=btn)  # <- this is the canvas element to delete from the canvas 

root.mainloop()

試試下面的代碼。 單擊按鈕后,它應該消失。

import tkinter as Tk

def disappear():
    but.grid_forget()

root = Tk.Tk()

canvas = Tk.Canvas(root, bg = 'black', width = 500, height = 500)
canvas.grid(row = 0, column = 0)

frame = Tk.Frame(bg = 'red')
canvas.create_window(0, 0, window = frame, anchor = Tk.NW)

but = Tk.Button(frame, text = 'Disappear', command = disappear)
but.grid(row = 0, column = 0)

root.mainloop()

希望這可以幫助。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM