我在tkinter网格单元中有一个框架。在框架中,我要包装2个标签。
但是,当我尝试用侧面包装或填充时,会出现名称错误,例如
NameError:未定义名称“ TOP”
我已经尝试过在线咨询教程和我的Tkinter书,但仍然看不到错误所在。我尝试使用大写字母,小写字母,并在侧面和填充选项周围加上引号,但仍然不满意。
import tkinter as tk
MAINFONT = "Marcellus SC"
SUBFONT = "Oswald"
TEXT_SIZE = 12
SPACER = 37 #this is the padding beween cells
root = tk.Tk()
#Other rows have been established
question_1_frm = tk.Frame(border = 1)
question_1_frm.grid(row = 3, column = 2, sticky = "NW")
first_question_lbl = tk.Label(question_1_frm, text = question_1, font = (MAINFONT, TEXT_SIZE), bg = "white", wraplength = 403*scale_factor_x, justify="left")
first_question_lbl.pack()
first_answer_lbl = tk.Label(question_1_frm, font =(MAINFONT,TEXT_SIZE))
first_answer_lbl.pack(side =TOP, fill=X)
root.mainloop()
我希望将first_question_lbl和first_answer_lbl都打包到父框架中,前者放在后者之下,但我一直得到。
NameError:未定义名称“ TOP”
from side = TOP
我也得到了类似的信息,只是fill = x
答案 0 :(得分:1)
感谢杰森
TOP在tkinter模块中声明,您将其导入为tk-因此您将以tk.TOP的形式对其进行访问。您看到的任何单独使用TOP的代码都必须是从tkinter import *完成的,这会不加选择地从模块中引入所有已定义的名称。 – jasonharper
tk.TOP和tk.X现在可以正常工作。