Я дурачусь с GUI программированием с использованием Tkinter на python, целью которого является приложение GUI, которое позволит пользователю добавить задачу или удалить (для сохранения в текстовый файл).
Сейчас я просто пытаюсь понять основы добавления / удаления флажков.
Проблема, с которой я сталкиваюсь, заключается в том, что при запуске сценария флажки не совпадают с текст для них. На рисунке ниже показана проблема. ![enter image description here](https://i.stack.imgur.com/Nuqix.png)
Код, используемый для извлечения задач из текстового файла и добавления их в качестве кнопок проверки, выглядит следующим образом:
tasks = []
with open(r"C:\Users\patte\Desktop\tasks.txt") as file:
tasks = file.readlines()
row = 2
for task in tasks:
self.task_checkbox = Checkbutton(self.master,text=task,font=("Arial",12),relief='groove')
self.task_checkbox.grid(row=row,column=0,sticky=W)
row+=1
Обратите внимание, что строка инициализирована как 2 поскольку заголовок и строка ввода занимают строки 0 и 1. Я попытался изменить шрифты и т. д. c., но результат остался прежним.
Любые советы или критические замечания приветствуются.
Полный код выглядит следующим образом:
from tkinter import *
class ToDo():
def __init__(self,master):
self.master = master # Geometry and layout when initialized
master.geometry("800x800")
master.title("TO DO")
self.gui_title = Label(self.master,text="Tasks:",font = ("Arial Bold",26))
self.gui_title.grid(row=0,column=0,sticky=W)
self.task_entry_label = Label(self.master,text="Enter Task:",font = ("Arial",12))
self.task_entry_label.grid(row=2,column=0,sticky=W)
self.task_entry = Entry(self.master)
self.task_entry.grid(row=2,column=1,sticky=W)
self.task_entry.focus_set()
tasks = []
with open(r"C:\Users\patte\Desktop\tasks.txt") as file:
tasks = file.readlines()
row = 3
for task in tasks:
self.task_checkbox = Checkbutton(self.master,text=task,font=("Arial",12),relief='groove')
self.task_checkbox.grid(row=row,column=0,sticky=W)
row+=1
self.QuitButton = Button(self.master,text="Quit",font=("Arial Bold",12),command = lambda: self.master.quit())
self.QuitButton.grid(sticky=SW,row=7)
root = Tk()
Tasks = ToDo(root)
root.mainloop()
Спасибо!