写一个使用 Python 的 SQLite3 编写的简单超市管理系统。这个系统使用 PyQT 作为界面,,并包含至少8个数据表
时间: 2024-02-19 18:59:20 浏览: 78
一个简单的超市管理系统
好的,我可以为您提供一个简单的超市管理系统的代码框架。以下是一个使用 Python 和 SQLite3 编写的基本超市管理系统,使用 PyQT 作为界面,并包含8个数据表。
```python
import sys
import sqlite3
from PyQt5.QtWidgets import QApplication, QMainWindow, QAction, QTableWidget, QTableWidgetItem, QMessageBox
class Supermarket(QMainWindow):
def __init__(self):
super().__init__()
self.title = '超市管理系统'
self.left = 100
self.top = 100
self.width = 800
self.height = 600
self.initUI()
def initUI(self):
self.setWindowTitle(self.title)
self.setGeometry(self.left, self.top, self.width, self.height)
# 创建菜单栏
menubar = self.menuBar()
fileMenu = menubar.addMenu('文件')
helpMenu = menubar.addMenu('帮助')
# 创建工具栏
toolbar = self.addToolBar('工具栏')
newSaleAction = QAction('新销售', self)
newSaleAction.triggered.connect(self.newSale)
toolbar.addAction(newSaleAction)
# 创建表格
self.tableWidget = QTableWidget()
self.setCentralWidget(self.tableWidget)
self.tableWidget.setColumnCount(8)
self.tableWidget.setHorizontalHeaderLabels(['ID', '名称', '单价', '数量', '总价', '销售员', '销售日期', '备注'])
self.tableWidget.setEditTriggers(QTableWidget.NoEditTriggers)
# 初始化数据库
self.initDB()
self.show()
def initDB(self):
# 连接数据库
self.conn = sqlite3.connect('supermarket.db')
self.c = self.conn.cursor()
# 创建数据表
self.c.execute('''CREATE TABLE IF NOT EXISTS products
(id INTEGER PRIMARY KEY AUTOINCREMENT,
name TEXT NOT NULL,
price REAL NOT NULL,
stock INTEGER NOT NULL)''')
self.c.execute('''CREATE TABLE IF NOT EXISTS sales
(id INTEGER PRIMARY KEY AUTOINCREMENT,
product_id INTEGER NOT NULL,
quantity INTEGER NOT NULL,
total_price REAL NOT NULL,
seller TEXT NOT NULL,
sales_date TEXT NOT NULL,
note TEXT)''')
# 插入示例数据
self.c.execute("INSERT INTO products (name, price, stock) VALUES ('可乐', 3, 100)")
self.c.execute("INSERT INTO products (name, price, stock) VALUES ('薯片', 5, 50)")
self.c.execute("INSERT INTO products (name, price, stock) VALUES ('牛肉干', 8, 20)")
self.conn.commit()
def closeEvent(self, event):
# 关闭数据库
self.conn.close()
def newSale(self):
# TODO: 实现新销售功能
pass
if __name__ == '__main__':
app = QApplication(sys.argv)
sm = Supermarket()
sys.exit(app.exec_())
```
这个框架中包含了一个 `Supermarket` 类,它继承了 `QMainWindow` 类,并实现了一个简单的界面。这个类中包含了一个菜单栏、工具栏和一个表格控件。在 `initDB` 方法中,我们初始化了数据库,并插入了一些示例数据。在 `newSale` 方法中,我们可以实现新销售功能。
您可以根据您的需求修改这个框架,添加更多的数据表和功能。
阅读全文