Ваш код ошибки говорит вам, что вы смешиваете tab
и space
, что вы не должны делать. Python полагается на последовательный отступ, чтобы знать, где заканчивается строка кода и начинается другая. Обязательно следуйте рекомендациям PEP8 и используйте 4 пробела для каждого уровня отступа.
С учетом вышесказанного вам необходимо также внести некоторые изменения в создание кнопок. Как и сейчас, он создаст разные кнопки для каждой буквы каждой строки.
См. Ниже исправленный пример и дайте мне знать, если у вас есть какие-либо вопросы:
import tkinter as tk
lst="lst.txt"
class DisplayApp(tk.Tk):
def __init__(self):
super().__init__()
self.title("My Menu")
frame_1 = tk.LabelFrame(self, text="Frame 1")
frame_1.grid(row=2, columnspan=3, sticky='WE', padx=5, pady=5, ipadx=5, ipady=5)
with open(lst, 'r') as lst_file:
for item in lst_file:
tk.Checkbutton(frame_1, text=item.rstrip()).pack(side=tk.LEFT)
if __name__ == "__main__":
DisplayApp().mainloop()