Python 在何处放置从窗口中删除tkinter小部件的代码
要在使用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) 然后我创建了一个函数来确定单击了哪个按钮,因为我在这个按
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
您只是将其从视图中删除。它还在记忆中。对于一个小项目来说,这不是什么大问题,但你不想在刚开始的时候就养成坏习惯。