# main.pyimport tkinter as tkfrom ui import TodoUIfrom database import Databasedb = Database()class TodoApp: def __init__(self, master): self.master = master self.ui = TodoUI(master) self.ui.todo_list.bind('<<ListboxSelect>>', self.on_select) self.ui.add_button.config(command=self.add_task) self.ui.delete_button.config(command=self.delete_task) self.ui.complete_button.config(command=self.complete_task) self.update_task_list() def update_task_list(self): self.ui.todo_list.delete(0, tk.END) tasks = db.get_tasks() for task in tasks: self.ui.todo_list.insert(tk.END, task[1]) def on_select(self, event): selected_index = self.ui.todo_list.curselection() if selected_index: self.selected_task = db.get_task(selected_index[0]) def add_task(self): task_title = self.ui.entry.get() db.add_task(task_title) self.ui.entry.delete(0, tk.END) self.update_task_list() def delete_task(self): if hasattr(self, 'selected_task'): db.delete_task(self.selected_task[0]) self.update_task_list() def complete_task(self): if hasattr(self, 'selected_task'): db.complete_task(self.selected_task[0]) self.update_task_list()if __name__ == '__main__': root = tk.Tk() app = TodoApp(root) root.mainloop()
六、总结
通过本文的介绍,我们了解了如何使用Python创建一个简单的待办事项管理器。该项目涉及到了Python的基础知识和一些常用的库,如Tkinter和SQLite3。通过这个项目的实现,希望读者对Python的应用有一个更深入的理解,并能够根据自己的需求进行扩展和优化。
