class DropdownList(object):
def __init__(self, master):
self.master = master
self.mainFrame = Frame(self.master, padx=1, pady=1) # if defined here, when the code reaches the 'Label' function, the 'object has no attribute mainFrame' error appears
self.mainFrame.pack()
def heightQuestion(self, rowNumber, columnNumber):
self.heightEntry = ''
# self.mainFrame = Frame(self.master, padx = 1, pady = 1) - if defined here, the attribute can be used in all other methods as well
# self.mainFrame.pack()
Label(self.mainFrame, text = 'What is your height?', font=('Roboto', 20)).grid(row = rowNumber, column = columnNumber)
Entry(self.mainFrame, textvariable = self.heightEntry, bd = 5, font = ('Roboto', 15)).grid(row = rowNumber+1, column = columnNumber)
Я получаю ошибку «У объекта нет атрибута», если я определяю атрибут в конструкторе.Однако, если я определю его в других методах (таких как 'heightQuestion', он будет работать нормально. Я хочу, чтобы атрибут был определен внутри конструктора.
error: Label (self.mainFrame, text = 'What isваш рост? ', font = (' Roboto ', 20)). grid (row = rowNumber, column = columnNumber) Файл "C: \ Users \ Marius \ AppData \ Local \ Programs \ Python \ Python36-32 \ lib \ tkinter__init__.py ", строка 2095, в getattr return getattr (self.tk, attr) AttributeError: У объекта '_tkinter.tkapp' нет атрибута 'mainFrame'