我使用pack_forget()使按钮不可见。但是当我随后创建一个标签时,它看起来就像隐形按钮。我怎样才能避免这种位移?
以下示例代码演示了此问题:
from tkinter import *
class Application(Frame):
def secondwidget(self):
self.b.pack_forget()
self.l = Label(text="Lowered Label :(")
self.l.pack()
def firstwidget(self):
self.b = Button(self)
self.b["text"] = "Button"
self.b["command"] = self.secondwidget
self.b.pack()
def __init__(self, master=None):
Frame.__init__(self, master)
self.pack()
self.firstwidget()
root = Tk()
app = Application(master=root)
app.mainloop()
root.destroy()
编辑:我使用的是python 3.2
答案 0 :(得分:2)
您忘了为标签设置父级:
self.l = Label(text="Lowered Label :(")
print(self.l.winfo_parent() == str(self))
>>> False
比较
self.b = Button(self)
print(self.b.winfo_parent() == str(self))
>>> True