Tkinter: Как получить доступ к метке для настройки? - PullRequest
0 голосов
/ 05 октября 2018

Я пытаюсь сделать так, чтобы пользователь мог открыть приглашение, а затем вернуть его в приложение tkinter.Однако каждый раз, когда я делаю это, я получаю ошибку AttributeError: у объекта «ImportPage» нет атрибута «textLabel»

class ImportPage(tk.Frame):
    def __init__(self, master):
        tk.Frame.__init__(self, master)
        ttk.Label(self, text="This is the Import Configuration Page", font = LARGE_FONT).pack(side="top", fill="x", pady=10)
        ttk.Button(self, text="Import Files", command = self.import_File).pack()
        textLabel = ttk.Label(self, text="Test File:" , font=NORM_FONT)
        textLabel.pack()
        ttk.Button(self, text="Return to start page",
                  command=lambda: master.switch_frame(StartPage)).pack()

    def import_File(self):
        global posTime_file_path
        posTime_file_path = fd.askopenfilename()
        self.textLabel.config(text="Test File:" + posTime_file_path)

Редактировать: я понял это.Причина в том, что когда я инициализировал textLabel, я не вызывал self.Это классическая ошибка нуба.Я оставлю этот пост на случай, если он кому-нибудь поможет.

Правильный код должен быть:

self.textLabel = ttk.Label(self, text="Test File:" , font=NORM_FONT)
self.textLabel.pack()

1 Ответ

0 голосов
/ 05 октября 2018

Я понял это.Причина в том, что когда я инициализировал textLabel, я не вызывал self.Это классическая ошибка нуба.Я оставлю этот пост на случай, если он кому-нибудь поможет.

self.textLabel = ttk.Label(self, text="Test File:" , font=NORM_FONT)
self.textLabel.pack()
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...