Почему python не распознает мою сторону = TOP и атрибут fill = x в tkinter - PullRequest
0 голосов
/ 09 июля 2019

У меня есть рамка внутри ячейки сетки tkinter.В рамке я хочу упаковать 2 метки.

Однако, когда я пытаюсь применить сторону для упаковки или заполнения, я получаю ошибку имени, такую ​​как

NameError: name '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' не определено

со стороны = TOP

Я получаю похожее сообщение только для fill = x

1 Ответ

1 голос
/ 09 июля 2019

Спасибо, Джейсон

TOP объявлен в модуле tkinter, который вы импортировали как tk - так что вы получите доступ к нему как tk.TOP.Любой код, который вы использовали, сам по себе использовал TOP, должен был выполнить импорт tkinter *, который без разбора вводит все определенные имена из модуля.- jasonharper

tk.TOP и tk.X теперь работают нормально.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...