Python 在何处放置从窗口中删除tkinter小部件的代码

Python 在何处放置从窗口中删除tkinter小部件的代码,python,button,tkinter,Python,Button,Tkinter,要在使用tkinter时删除按钮,我知道我应该使用grid\u remove。但是命令应该放在哪里,删除它的行代码是什么样子的? 这就是我创建按钮的地方 self.button1 = Tkinter.Button(self, text=u"Convert Decimal to Binary", command=lambda: self.OnButtonClick(1)) self.button1.grid(column=1,row=1) 然后我创建了一个函数来确定单击了哪个按钮,因为我在这个按

要在使用tkinter时删除按钮,我知道我应该使用
grid\u 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")
我应该在哪里放置
网格\u remove
来删除按钮,删除按钮的代码行是什么样子的?我会这样假设:

self.button1 = Tkinter.Button(self, text=u"Convert Decimal to Binary", command=lambda: self.grid_remove(1))
self.button1.grid_remove()
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

但是我不太确定您是否会像这样调用
self.button1的
grid\u remove
方法:

self.button1 = Tkinter.Button(self, text=u"Convert Decimal to Binary", command=lambda: self.grid_remove(1))
self.button1.grid_remove()
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
下面是要演示的示例脚本:

from Tkinter import Tk, Button
root = Tk()
def click():
    button.grid_remove()
button = Button(text="click", command=click)
button.grid()
root.mainloop()
至于把那条线放在哪里,这取决于你。它可以在
OnButtonClick
中,在另一个方法中,等等。基本上,把它放在你想要的任何地方

我将假定它位于
onbutton单击
,在这种情况下,代码将如下所示:

self.button1 = Tkinter.Button(self, text=u"Convert Decimal to Binary", command=lambda: self.grid_remove(1))
self.button1.grid_remove()
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

我们有什么办法聊天吗?我还有几个问题,如果你不介意的话,这比把每一个问题都贴出来要容易得多course@Dan-我并不介意…我实际上从未使用过这里的聊天系统。因此,我不熟悉它的工作方式。然而,我将为您提供一个非常有用的Tkinter参考:您的大多数问题可能都可以通过那里的信息来回答。grid_remove只从视图中删除一个小部件,它不会删除该小部件。这就是你想要的,还是你真的想要删除这个小部件对象?我真的想删除这个小部件,但看起来这就是你想要的。现在我的问题是如何删除标签。如果要删除小部件,请在小部件上调用
.destroy()
。通过调用
grid\u remove
您只是将其从视图中删除。它还在记忆中。对于一个小项目来说,这不是什么大问题,但你不想在刚开始的时候就养成坏习惯。