从哪里放置代码以从窗口中删除tkinter小部件

时间:2014-01-16 21:25:24

标签: python button tkinter

要在使用tkinter时删除按钮,我知道我应该使用grid_remove。命令应该放在哪里,删除它的行代码是什么样的? 这是我创建按钮的地方。

self.button1 = Tkinter.Button(self, text=u"Convert Decimal to Binary", command=lambda: self.OnButtonClick(1))
self.button1.grid(column=1,row=1)

然后这是我创建的函数,用于确定单击了哪个按钮,因为我在另一个按钮下方点击了该按钮。

def OnButtonClick(self, button_id):
    if button_id == 1:
        self.entryVariable = Tkinter.StringVar()
        self.entry = Tkinter.Entry(self,textvariable=self.entryVariable)
        self.entry.grid(column=1,row=0,sticky='EW')
        self.entryVariable.set(u"Enter Decimal Number Here")

我将grid_remove放在何处以摆脱按钮,删除它的代码行是什么样的?我会假设这样的事情:

self.button1 = Tkinter.Button(self, text=u"Convert Decimal to Binary", command=lambda: self.grid_remove(1))

但我不太确定

1 个答案:

答案 0 :(得分:1)

您可以像这样调用grid_remove self.button1方法:

self.button1.grid_remove()

下面是一个示例脚本:

from Tkinter import Tk, Button
root = Tk()
def click():
    button.grid_remove()
button = Button(text="click", command=click)
button.grid()
root.mainloop()

至于放置该线的位置,由您决定。它可以在OnButtonClick内,在另一种方法内等。基本上,将它放在您想要移除的self.button1的任何位置。

我认为它在OnButtonClick内,在这种情况下代码看起来像这样:

def OnButtonClick(self, button_id):
    if button_id == 1:
        self.entryVariable = Tkinter.StringVar()
        self.entry = Tkinter.Entry(self,textvariable=self.entryVariable)
        self.entry.grid(column=1,row=0,sticky='EW')
        self.entryVariable.set(u"Enter Decimal Number Here")

        self.button1.grid_remove() # Remove the button