这涉及到Python和Tkinter。
我希望Label小部件显示单词" Meow"。
Label小部件应该是Tk窗口中Frame 的子级。
这看起来很简单,但下面的代码不起作用 - 没有任何内容出现:
import tkinter as tk
class Options(tk.Frame):
def __init__(self, gui_parent):
super().__init__()
tk.Label(self, text="Meow").pack()
class Gui(tk.Tk):
def __init__(self):
super().__init__()
Options(self)
gui = Gui()
gui.mainloop()
然后我进行了实验:如果我将Label小部件更改为tk.Label(gui_parent, text="Meow").pack()
,则会显示该窗口的内容。 (但这不是正确的行为,因为我希望Label小部件成为Frame小部件的直接子节点,而不是Tk父窗口的直接子节点。)
据我了解,super().__init__()
应该实例化一个Frame。然后,Label小部件应该能够通过self
访问Frame。事实并非如此。
我哪里出错?
答案 0 :(得分:2)
您没有pack
您的Options
小部件。试试:
Options(self).pack()
另外,我会明确声明Options
是Gui
的孩子,因此您应该将gui_parent
传递给__init__
个Options
对象的def __init__(self, gui_parent):
super().__init__(gui_parent)
tk.Label(self, text="Meow").pack()
函数:
ionic share