python-3.x - 如何删除嵌入在窗口中的按钮?(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()
推荐阅读
- java - java文件路径中的波浪号(〜)
- javascript - 在箭头函数 es6 上转换简单的 for 循环
- parsing - 如何解决我的代码中的野牛减少/减少冲突?
- javascript - 如何在要在浏览器中加载的模块中导入类型信息
- java - Android 应用选项卡切换崩溃
- javascript - 如何使用完整的代码在 DOJO 中禁用 REST 树中的缓存以重现它
- java - 接受并返回相同类型的通用功能接口
- java - 从 main() 访问静态内部类中的私有类的方法
- php - 无法在 php 中的 Google 日历中一次插入多个事件
- python - 使用 python 在文件中拆分和保存文本