python利用数据库建立界面菜单管理系统
时间: 2023-06-29 11:17:36 浏览: 83
好的,下面是一个简单的 Python 界面菜单管理系统的示例代码,使用的是 SQLite 数据库:
```python
import tkinter as tk
import sqlite3
class MenuManager:
def __init__(self, master):
self.master = master
master.title('菜单管理系统')
# 创建界面控件
self.label1 = tk.Label(master, text='名称:')
self.label1.grid(row=0, column=0)
self.entry1 = tk.Entry(master)
self.entry1.grid(row=0, column=1)
self.label2 = tk.Label(master, text='价格:')
self.label2.grid(row=1, column=0)
self.entry2 = tk.Entry(master)
self.entry2.grid(row=1, column=1)
self.label3 = tk.Label(master, text='描述:')
self.label3.grid(row=2, column=0)
self.entry3 = tk.Entry(master)
self.entry3.grid(row=2, column=1)
self.button1 = tk.Button(master, text='添加', command=self.add_menu)
self.button1.grid(row=3, column=0)
self.button2 = tk.Button(master, text='删除', command=self.delete_menu)
self.button2.grid(row=3, column=1)
self.listbox = tk.Listbox(master)
self.listbox.grid(row=4, column=0, columnspan=2)
# 连接数据库
self.conn = sqlite3.connect('menu.db')
self.c = self.conn.cursor()
# 创建菜单表
self.c.execute('''CREATE TABLE IF NOT EXISTS menu
(name TEXT, price REAL, description TEXT)''')
# 显示菜单列表
self.show_menus()
def add_menu(self):
name = self.entry1.get()
price = float(self.entry2.get())
description = self.entry3.get()
# 插入菜单数据
self.c.execute("INSERT INTO menu VALUES (?, ?, ?)", (name, price, description))
self.conn.commit()
# 清空界面控件
self.entry1.delete(0, 'end')
self.entry2.delete(0, 'end')
self.entry3.delete(0, 'end')
# 刷新菜单列表
self.show_menus()
def delete_menu(self):
# 获取选中的菜单
selected = self.listbox.curselection()
if not selected:
return
name = self.listbox.get(selected[0])
# 删除菜单数据
self.c.execute("DELETE FROM menu WHERE name=?", (name,))
self.conn.commit()
# 刷新菜单列表
self.show_menus()
def show_menus(self):
# 清空菜单列表
self.listbox.delete(0, 'end')
# 查询菜单数据
self.c.execute("SELECT name FROM menu")
rows = self.c.fetchall()
# 显示菜单列表
for row in rows:
self.listbox.insert('end', row[0])
root = tk.Tk()
app = MenuManager(root)
root.mainloop()
```
此示例中,我们使用了 Tkinter 库来创建界面控件,使用了 SQLite 数据库来存储菜单数据。在程序运行时,首先连接数据库并创建菜单表。然后,通过界面控件进行菜单数据的添加和删除,并将菜单列表显示在界面上。需要注意的是,添加和删除菜单数据时,需要先执行相应的 SQL 语句,然后通过 `commit()` 方法提交事务。
阅读全文