Найти в Дзене
PRO_IT

Создаём приложение для управления задачами на Python

Для создания такого приложения на Python мы можем использовать библиотеку Tkinter для создания графического интерфейса, а также SQLite для хранения данных о задачах.

Вот пример кода на Python:

--------------------------------------------------------------------------------------------

import tkinter as tk
import sqlite3

# Создаем базу данных для хранения задач
conn = sqlite3.connect('tasks.db')
c = conn.cursor()
c.execute('''CREATE TABLE IF NOT EXISTS tasks
(id INTEGER PRIMARY KEY, task TEXT, completed INTEGER)''')


class ToDoApp:
def __init__(self, root):
self.root = root
self.root.title("Приложение для задач")

self.task_list = tk.Listbox(self.root, height=15, width=50, font=("Helvetica", 12))
self.task_list.pack(side=tk.LEFT, fill=tk.BOTH)

self.scrollbar = tk.Scrollbar(self.root)
self.scrollbar.pack(side=tk.RIGHT, fill=tk.BOTH)

self.task_list.config(yscrollcommand=self.scrollbar.set)
self.scrollbar.config(command=self.task_list.yview)

self.task_entry = tk.Entry(self.root, font=("Helvetica", 12))
self.task_entry.pack(side=tk.BOTTOM, fill=tk.BOTH)

self.add_button = tk.Button(self.root, text="Добавить задачу", command=self.add_task)
self.add_button.pack(side=tk.BOTTOM)

self.delete_button = tk.Button(self.root, text="Удалить задачу", command=self.delete_task)
self.delete_button.pack(side=tk.BOTTOM)

self.complete_button = tk.Button(self.root, text="Завершить задачу", command=self.complete_task)
self.complete_button.pack(side=tk.BOTTOM)

self.refresh_tasks()

def refresh_tasks(self):
self.task_list.delete(0, tk.END)
for row in c.execute('SELECT * FROM tasks'):
task_text = row[1]
if row[2] == 1:
task_text = '✓ ' + task_text
self.task_list.insert(tk.END, task_text)

def add_task(self):
task = self.task_entry.get()
c.execute('INSERT INTO tasks (task, completed) VALUES (?, ?)', (task, 0))
conn.commit()
self.task_entry.delete(0, tk.END)
self.refresh_tasks()

def delete_task(self):
selected_task = self.task_list.curselection()
c.execute('DELETE FROM tasks WHERE task=?', (self.task_list.get(selected_task),))
conn.commit()
self.refresh_tasks()

def complete_task(self):
selected_task = self.task_list.curselection()
task_text = self.task_list.get(selected_task)
if '✓' not in task_text:
updated_task = '✓ ' + task_text
c.execute('UPDATE tasks SET task=? WHERE task=?', (updated_task, task_text))
conn.commit()
self.refresh_tasks()


root = tk.Tk()
app = ToDoApp(root)
root.mainloop()

--------------------------------------------------------------------------------------------

Этот код создает простое приложение с графическим интерфейсом, позволяющее добавлять, удалять и помечать задачи как выполненные. Он использует библиотеку Tkinter для создания пользовательского интерфейса и SQLite для хранения данных о задачах.