使用python代码的pyqt库写一个软件,实现首先有一个登录界面,登录后做一个界面实现数据库管理系统,管理内容为物品管理,分三个表,分别是表一物品明细表、表二为物品使用人员表、表三是物品维修报废时间表,实现表格内容导入,数据库增添删除改变查询
时间: 2024-03-24 13:39:04 浏览: 60
好的,我将为你提供一个基本的代码框架,你可以根据需要进行修改和完善。
首先,在Python中使用PyQt5库来创建GUI界面,具体实现代码可以参考下面的示例:
```python
import sys
from PyQt5.QtWidgets import QApplication, QWidget, QLabel, QLineEdit, QPushButton
class LoginWindow(QWidget):
def __init__(self):
super().__init__()
self.initUI()
def initUI(self):
# 创建登录界面的UI
self.setWindowTitle('登录界面')
self.setGeometry(300, 300, 300, 200)
self.label_user = QLabel('用户名:', self)
self.label_user.move(50, 50)
self.text_user = QLineEdit(self)
self.text_user.move(110, 50)
self.label_pwd = QLabel('密码:', self)
self.label_pwd.move(50, 80)
self.text_pwd = QLineEdit(self)
self.text_pwd.move(110, 80)
self.text_pwd.setEchoMode(QLineEdit.Password)
self.button_login = QPushButton('登录', self)
self.button_login.move(110, 120)
self.button_login.clicked.connect(self.login)
self.show()
def login(self):
# 登录验证功能
user = self.text_user.text()
pwd = self.text_pwd.text()
# TODO: 连接数据库,验证用户名和密码,如果验证通过,打开物品管理系统的主界面
# ...
class MainWindow(QWidget):
def __init__(self):
super().__init__()
self.initUI()
def initUI(self):
# 创建物品管理系统的主界面UI
self.setWindowTitle('物品管理系统')
self.setGeometry(300, 300, 800, 600)
# TODO: 添加三个表格控件,分别对应物品明细表、物品使用人员表和物品维修报废时间表
# ...
# TODO: 添加导入、增加、删除、修改和查询等操作按钮
self.show()
if __name__ == '__main__':
app = QApplication(sys.argv)
login = LoginWindow()
sys.exit(app.exec_())
```
在上面的代码中,我们首先创建了一个登录界面的UI,其中包含用户名、密码输入框和登录按钮。当用户点击登录按钮时,会调用`login`方法进行登录验证。在验证通过后,会打开物品管理系统的主界面,其中包含三个表格控件和各种操作按钮,可以实现对数据库的增删改查操作。
在具体实现时,我们需要使用PyQt5中提供的许多控件和模块,例如QTableView、QSqlTableModel、QSqlQueryModel等等。为了简化代码,我们可以将这些控件和模块的创建和使用封装到单独的类中,然后在主界面中进行调用。
另外,我们还需要使用PyMySQL等库来连接和操作MySQL数据库。可以参考下面的示例代码:
```python
import pymysql
def connect_db():
# 连接数据库
db = pymysql.connect(host='localhost', user='root', password='123456', db='test', charset='utf8')
return db
def check_user(db, user, pwd):
# 验证用户名和密码
cursor = db.cursor()
sql = f"SELECT COUNT(*) FROM users WHERE username='{user}' AND password='{pwd}'"
cursor.execute(sql)
count = cursor.fetchone()[0]
return count > 0
def get_items(db):
# 获取物品明细表数据
cursor = db.cursor()
sql = "SELECT * FROM items"
cursor.execute(sql)
data = cursor.fetchall()
return data
def add_item(db, name, price):
# 添加物品
cursor = db.cursor()
sql = f"INSERT INTO items (name, price) VALUES ('{name}', '{price}')"
cursor.execute(sql)
db.commit()
def delete_item(db, id):
# 删除物品
cursor = db.cursor()
sql = f"DELETE FROM items WHERE id={id}"
cursor.execute(sql)
db.commit()
# TODO: 实现修改物品和查询物品等操作的代码
```
在上面的代码中,我们首先使用`connect_db`方法连接MySQL数据库,然后使用`check_user`方法验证用户名和密码是否正确。在验证通过后,我们可以使用`get_items`方法获取物品明细表的数据,使用`add_item`和`delete_item`方法添加和删除物品。具体实现时,需要根据具体情况进行调整和完善。
综上所述,我们可以根据上面的代码框架,结合PyQt5和PyMySQL等库,实现一个完整的物品管理系统。
阅读全文