【问题标题】:How can I remove an specific button in tkinter after creating various of them with the same function?创建具有相同功能的各种按钮后,如何删除 tkinter 中的特定按钮?
【发布时间】:2021-10-21 09:13:44
【问题描述】:

所以我正在使用 Tkinter 为我想到的一个项目编写我的第一个 GUI,我在这个项目的一个重要步骤上遇到了很多麻烦。总而言之,我需要创建一个简单地添加更多按钮的按钮。这是我的这个按钮的代码:

room_frame_number = 0
def add_room_frame():
    global room_frame_number
    room_frame_number += 1
            
    room_Button = tk.Button(rooms_frame, text = "This is room number " + str(room_frame_number))

    add_button.pack_forget()
    room_Button.pack()
    add_button.pack()


add_button = tk.Button(rooms_frame, text = "Add", command = add_room_frame)
add_button.pack()

现在,我遇到的问题如下:当我单击这些新创建的按钮之一时,我要激活的命令是删除单击的按钮的命令。

我知道在某些时候我需要使用pack_forget() 方法,但我所尝试的所有方法都给我带来了问题。拜托,我非常感谢您对这个问题的指导。

【问题讨论】:

  • 您正在移除按钮,然后在函数add_button.pack() 中再次使用.pack
  • 如果您要重新打包现有按钮,则无需致电pack_forget。调用 pack 将替换之前在同一小部件​​上对 pack 的任何调用。

标签: python user-interface tkinter button tk


【解决方案1】:

如果您希望按钮能够自行删除,您可以这样做:

room_Button = tk.Button(rooms_frame, text = "This is room number " + str(room_frame_number))
room_Button.configure(command=room_Button.destroy)

【讨论】:

  • 哦,非常感谢!我不知道为什么我以前没有尝试过那个
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2022-12-01
  • 1970-01-01
  • 2018-03-03
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多