有没有办法隐藏所有现有的按钮?

时间:2021-06-02 08:30:38

标签: python tkinter button

我正在学习 Python,只是在做一些小游戏,但我被困住了,因为我找不到关于这个主题的任何信息。

我有 2 个按钮,希望在单击两个按钮中的任何一个时都隐藏它们。有没有办法做到这一点?

这是我在 RedRidingHood 类中的按钮代码:

def p1Choice_a(self, event):
    print("You choose to run from the big wolf")
    event.widget.pack_forget()

def p1Choice_b(self, event):
    print("You choose to talk the big wolf")
    event.widget.pack_forget()

这里是类 RedRidingHood 中按钮的主要启动和创建:

def start(self):
    self.create_button_p1()

def create_button_p1(self, position):
    p1ca = Button(frame, text="A. Run from the big wolf")
    p1ca.bind('<Button-1>', self.p1Choice_a)
    p1ca.pack( side = LEFT )

    p1cb = Button(frame, text="B. Have a conversation with the big wolf")
    p1cb.bind('<Button-2>', self.p1Choice_b)
    p1cb.pack( side = RIGHT )


rrhStart = RedRidingHood()
rrhStart.start()

2 个答案:

答案 0 :(得分:1)

你可以替换函数

def create_button_p1(self, position):
    self.p1ca = Button(frame, text="A. Run from the big wolf")
    self.p1ca.bind('<Button-1>', self.p1Choice_a)
    self p1ca.pack( side = LEFT )

    self.p1cb = Button(frame, text="B. Have a conversation with the big wolf")
    self.p1cb.bind('<Button-2>', self.p1Choice_b)
    self.p1cb.pack( side = RIGHT )

然后是这些功能

def p1Choice_a(self, event):
    print("You choose to run from the big wolf")
    self.p1ca.pack_forget()
    self.p1cb.pack_forget()

def p1Choice_b(self, event):
    print("You choose to talk the big wolf")
    self.p1cb.pack_forget()
    self.p1ca.pack_forget()

答案 1 :(得分:0)

使用

.pack_forget()
.grid_forget()
.place_forget()

取决于您使用的几何管理器。