【发布时间】:2017-06-06 16:16:01
【问题描述】:
这涉及 Python 和 Tkinter。
我希望有一个标签小部件显示单词“喵”。
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。然后标签小部件应该能够通过self 访问框架。事实并非如此。
我哪里出错了?
【问题讨论】: