鱼C论坛

 找回密码
 立即注册
查看: 1035|回复: 2

[已解决]tkinter如何使当按下一个按钮时,生成一个新按钮,同时删除被按的按钮?

[复制链接]
发表于 2021-7-22 21:23:17 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
如题,求教!!!!
最佳答案
2021-7-22 22:18:31
本帖最后由 qq1151985918 于 2021-7-22 22:36 编辑

可以实现,但是没什么用,因为新的按钮得绑定新的函数,新的函数会增加新的按钮,几个按钮还好,否则早晚会出错
真的想删除按钮组件,用 pack_forget() 方法就可以,或者 grid_forget() 看你用的什么布局
  1. import tkinter as tk

  2. root = tk.Tk()
  3. root.geometry("200x120")
  4. root.resizable(0,0)

  5. buttons, num = [], [0]

  6. def delete_button():
  7.     buttons[0].pack_forget()
  8.     del buttons[0]
  9.    
  10.     num[0] += 1
  11.     buttons.append(tk.Button(text="按钮"+str(num[0]), command=delete_button))
  12.     buttons[0].pack()

  13. buttons.append(tk.Button(text="按钮"+str(num[0]), command=delete_button))
  14. buttons[0].pack()

  15. root.mainloop()
复制代码
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2021-7-22 22:13:54 | 显示全部楼层
知道了,打扰了。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-7-22 22:18:31 | 显示全部楼层    本楼为最佳答案   
本帖最后由 qq1151985918 于 2021-7-22 22:36 编辑

可以实现,但是没什么用,因为新的按钮得绑定新的函数,新的函数会增加新的按钮,几个按钮还好,否则早晚会出错
真的想删除按钮组件,用 pack_forget() 方法就可以,或者 grid_forget() 看你用的什么布局
  1. import tkinter as tk

  2. root = tk.Tk()
  3. root.geometry("200x120")
  4. root.resizable(0,0)

  5. buttons, num = [], [0]

  6. def delete_button():
  7.     buttons[0].pack_forget()
  8.     del buttons[0]
  9.    
  10.     num[0] += 1
  11.     buttons.append(tk.Button(text="按钮"+str(num[0]), command=delete_button))
  12.     buttons[0].pack()

  13. buttons.append(tk.Button(text="按钮"+str(num[0]), command=delete_button))
  14. buttons[0].pack()

  15. root.mainloop()
复制代码
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-4-27 12:35

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表