鱼C论坛

 找回密码
 立即注册
查看: 48|回复: 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

GMT+8, 2021-8-5 21:56

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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