Конечно! Я помогу вам придумать идею для дипломной работы и код программы. Предлагаю разработать приложение для управления задачами (например, To-Do List) с использованием языка программирования Python и библиотеки Tkinter для графического интерфейса.
Идея: Приложение "Список дел"
Функциональные требования:
- Добавление задачи.
- Удаление задачи.
- Изменение статуса задачи (выполнено/не выполнено).
- Сохранение списка задач в файл.
- Загрузка списка задач из файла.
Пример кода
import tkinter as tk
from tkinter import messagebox, simpledialog
import json
import os
class TaskManager:
def __init__(self, root):
self.root = root
self.root.title("Список дел")
self.task_list = []
self.load_tasks()
self.frame = tk.Frame(self.root)
self.frame.pack(pady=10)
self.task_entry = tk.Entry(self.frame, width=40)
self.task_entry.pack(side=tk.LEFT)
self.add_task_button = tk.Button(self.frame, text="Добавить задачу", command=self.add_task)
self.add_task_button.pack(side=tk.LEFT)
self.tasks_display = tk.Listbox(self.root, width=50, height=10)
self.tasks_display.pack(pady=10)
self.update_task_display()
self.delete_task_button = tk.Button(self.root, text="Удалить задачу", command=self.delete_task)
self.delete_task_button.pack(pady=5)
def add_task(self):
task = self.task_entry.get()
if task:
self.task_list.append({"task": task, "completed": False})
self.task_entry.delete(0, tk.END)
self.update_task_display()
self.save_tasks()
else:
messagebox.showwarning("Внимание", "Введите задачу.")
def delete_task(self):
try:
selected_task_index = self.tasks_display.curselection()[0]
del self.task_list[selected_task_index]
self.update_task_display()
self.save_tasks()
except IndexError:
messagebox.showwarning("Внимание", "Выберите задачу для удаления.")
def update_task_display(self):
self.tasks_display.delete(0, tk.END)
for task in self.task_list:
task_display = f"[{'✓' if task['completed'] else '✗'}] {task['task']}"
self.tasks_display.insert(tk.END, task_display)
def save_tasks(self):
with open("tasks.json", "w") as f:
json.dump(self.task_list, f)
def load_tasks(self):
if os.path.exists("tasks.json"):
with open("tasks.json", "r") as f:
self.task_list = json.load(f)
if __name__ == "__main__":
root = tk.Tk()
task_manager = TaskManager(root)
root.mainloop()
Описание кода:
- Импорт необходимых библиотек: Мы используем
tkinterдля графического интерфейса иjsonдля работы с файлами. - Класс TaskManager: Здесь мы реализуем все функции управления задачами, такие как добавление, удаление, отображение задач и сохранение их в файл.
- Интерфейс: Создаем базовый интерфейс с полем ввода для задач, кнопками для добавления и удаления задач, а также списком для отображения текущих задач.
Подсказки по улучшению:
- Добавьте функциональность для изменения статуса задачи.
- Реализуйте возможность сортировки задач (по дате добавления, важности и т.д.).
- Оптимизируйте интерфейс (добавьте стилизацию, улучшите пользовательский опыт).
Надеюсь, эта идея и код помогут вам в вашей дипломной работе! Если вам нужно больше информации или другой проект, дайте знать!
