Python中1、要求一人一题,设计一个实用的小型应用系统。 2、要有前台界面。 3、系统以菜单方式工作,包括信息的录入、浏览、查询、修改、删除、退出等基本功能。 4、要求界面友好、美观,是一个完整的小系统,没有实现的功能不要列示并完成代码
时间: 2023-12-07 15:05:04 浏览: 82
好的,根据您的要求,我设计了一个简单的实用小型应用系统,名为“任务管理系统”。
该系统主要用于帮助用户记录自己的任务,包括任务的名称、截止日期、优先级等信息,同时支持浏览、查询、修改、删除等基本功能。系统采用Python语言编写,使用Tkinter库实现前台界面,并使用SQLite数据库存储任务信息。
以下是系统的代码实现,您可以在本地运行该代码:
```python
import tkinter as tk
import tkinter.messagebox as msgbox
import sqlite3
# 创建数据库连接
conn = sqlite3.connect('tasks.db')
c = conn.cursor()
# 创建任务表
c.execute('CREATE TABLE IF NOT EXISTS tasks (id INTEGER PRIMARY KEY AUTOINCREMENT, name TEXT, deadline TEXT, priority TEXT)')
class TaskManager:
def __init__(self, master):
self.master = master
master.title('任务管理系统')
# 创建标签和输入框
self.name_label = tk.Label(master, text='名称:')
self.name_label.grid(row=0, column=0, sticky='w')
self.name_entry = tk.Entry(master)
self.name_entry.grid(row=0, column=1)
self.deadline_label = tk.Label(master, text='截止日期:')
self.deadline_label.grid(row=1, column=0, sticky='w')
self.deadline_entry = tk.Entry(master)
self.deadline_entry.grid(row=1, column=1)
self.priority_label = tk.Label(master, text='优先级:')
self.priority_label.grid(row=2, column=0, sticky='w')
self.priority_entry = tk.Entry(master)
self.priority_entry.grid(row=2, column=1)
# 创建按钮
self.add_button = tk.Button(master, text='添加任务', command=self.add_task)
self.add_button.grid(row=3, column=0)
self.view_button = tk.Button(master, text='浏览任务', command=self.view_tasks)
self.view_button.grid(row=3, column=1)
self.search_button = tk.Button(master, text='搜索任务', command=self.search_task)
self.search_button.grid(row=3, column=2)
self.update_button = tk.Button(master, text='修改任务', command=self.update_task)
self.update_button.grid(row=3, column=3)
self.delete_button = tk.Button(master, text='删除任务', command=self.delete_task)
self.delete_button.grid(row=3, column=4)
# 创建任务列表框
self.task_listbox = tk.Listbox(master, height=10, width=50)
self.task_listbox.grid(row=4, column=0, columnspan=5)
# 添加任务
def add_task(self):
# 获取用户输入的任务信息
name = self.name_entry.get()
deadline = self.deadline_entry.get()
priority = self.priority_entry.get()
# 插入任务信息到数据库
c.execute('INSERT INTO tasks (name, deadline, priority) VALUES (?, ?, ?)', (name, deadline, priority))
conn.commit()
# 清空用户输入框
self.name_entry.delete(0, tk.END)
self.deadline_entry.delete(0, tk.END)
self.priority_entry.delete(0, tk.END)
# 提示用户添加成功
msgbox.showinfo('提示', '任务添加成功!')
# 浏览任务
def view_tasks(self):
# 清空任务列表框
self.task_listbox.delete(0, tk.END)
# 从数据库中查询任务信息
tasks = c.execute('SELECT * FROM tasks').fetchall()
# 遍历任务信息并添加到任务列表框中
for task in tasks:
self.task_listbox.insert(tk.END, f'{task[0]}. {task[1]} - 截止日期:{task[2]} - 优先级:{task[3]}')
# 搜索任务
def search_task(self):
# 获取用户输入的任务名称
name = self.name_entry.get()
# 从数据库中查询任务信息
tasks = c.execute('SELECT * FROM tasks WHERE name LIKE ?', (f'%{name}%',)).fetchall()
# 清空任务列表框
self.task_listbox.delete(0, tk.END)
# 遍历任务信息并添加到任务列表框中
for task in tasks:
self.task_listbox.insert(tk.END, f'{task[0]}. {task[1]} - 截止日期:{task[2]} - 优先级:{task[3]}')
# 修改任务
def update_task(self):
# 获取用户输入的任务信息
name = self.name_entry.get()
deadline = self.deadline_entry.get()
priority = self.priority_entry.get()
# 获取用户选中的任务信息
selected_task = self.task_listbox.get(tk.ACTIVE)
task_id = int(selected_task.split('.')[0])
# 更新任务信息到数据库
c.execute('UPDATE tasks SET name=?, deadline=?, priority=? WHERE id=?', (name, deadline, priority, task_id))
conn.commit()
# 清空用户输入框
self.name_entry.delete(0, tk.END)
self.deadline_entry.delete(0, tk.END)
self.priority_entry.delete(0, tk.END)
# 提示用户修改成功
msgbox.showinfo('提示', '任务修改成功!')
# 删除任务
def delete_task(self):
# 获取用户选中的任务信息
selected_task = self.task_listbox.get(tk.ACTIVE)
task_id = int(selected_task.split('.')[0])
# 从数据库中删除任务信息
c.execute('DELETE FROM tasks WHERE id=?', (task_id,))
conn.commit()
# 清空任务列表框
self.task_listbox.delete(0, tk.END)
# 提示用户删除成功
msgbox.showinfo('提示', '任务删除成功!')
# 创建主窗口
root = tk.Tk()
# 创建任务管理系统
task_manager = TaskManager(root)
# 运行主程序
root.mainloop()
# 关闭数据库连接
conn.close()
```
以上就是我设计的一个简单的实用小型应用系统“任务管理系统”的代码实现,希望能够满足您的需求。
阅读全文