pychram写,一个有大的对话框窗口 库存管理软件,可以入库(记录时间)和出库(记录时间),查询库存数量,查询入库出库记录,数据本地保存,输入数据可以下拉选择,数量默认为1
时间: 2023-09-22 13:06:35 浏览: 44
好的,我可以帮你解决这个问题。首先,你需要先安装PyQt5库,用于创建GUI界面。然后,你需要创建一个主窗口,将所有的控件放在里面。
以下是一个简单的代码示例,可以帮助你快速入门:
```python
from PyQt5.QtWidgets import QApplication, QMainWindow, QLabel, QComboBox, QPushButton, QLineEdit, QTextEdit, QTableWidget, QTableWidgetItem
from PyQt5.QtCore import Qt
import sys
# 定义主窗口类
class MainWindow(QMainWindow):
def __init__(self):
super().__init__()
# 设置窗口标题和大小
self.setWindowTitle('库存管理软件')
self.setGeometry(200, 200, 800, 600)
# 声明所有的控件
self.label1 = QLabel('物品名称', self)
self.label1.move(30, 30)
self.comboBox1 = QComboBox(self)
self.comboBox1.move(100, 30)
self.comboBox1.addItems(['物品A', '物品B', '物品C'])
self.label2 = QLabel('数量', self)
self.label2.move(30, 70)
self.lineEdit1 = QLineEdit(self)
self.lineEdit1.move(100, 70)
self.lineEdit1.setText('1')
self.pushButton1 = QPushButton('入库', self)
self.pushButton1.move(30, 110)
self.pushButton1.clicked.connect(self.on_pushButton1_clicked)
self.pushButton2 = QPushButton('出库', self)
self.pushButton2.move(110, 110)
self.pushButton2.clicked.connect(self.on_pushButton2_clicked)
self.label3 = QLabel('库存数量', self)
self.label3.move(30, 150)
self.label4 = QLabel('0', self)
self.label4.move(100, 150)
self.pushButton3 = QPushButton('查询入库出库记录', self)
self.pushButton3.move(30, 190)
self.pushButton3.clicked.connect(self.on_pushButton3_clicked)
self.textEdit1 = QTextEdit(self)
self.textEdit1.move(30, 230)
self.textEdit1.resize(740, 300)
self.textEdit1.setReadOnly(True)
# 声明一些变量,用于记录入库出库数量和时间
self.inventory_quantity = 0
self.inventory_logs = []
# 入库按钮被点击时执行的函数
def on_pushButton1_clicked(self):
item_name = self.comboBox1.currentText()
quantity = int(self.lineEdit1.text())
time_now = QDateTime.currentDateTime().toString('yyyy-MM-dd hh:mm:ss')
self.inventory_quantity += quantity
self.inventory_logs.append((item_name, '入库', quantity, time_now))
self.label4.setText(str(self.inventory_quantity))
# 出库按钮被点击时执行的函数
def on_pushButton2_clicked(self):
item_name = self.comboBox1.currentText()
quantity = int(self.lineEdit1.text())
time_now = QDateTime.currentDateTime().toString('yyyy-MM-dd hh:mm:ss')
self.inventory_quantity -= quantity
self.inventory_logs.append((item_name, '出库', quantity, time_now))
self.label4.setText(str(self.inventory_quantity))
# 查询入库出库记录按钮被点击时执行的函数
def on_pushButton3_clicked(self):
self.textEdit1.clear()
self.textEdit1.append('物品名称\t入库/出库\t数量\t时间')
for log in self.inventory_logs:
self.textEdit1.append('\t'.join(str(x) for x in log))
# 主函数
if __name__ == '__main__':
app = QApplication(sys.argv)
mainWindow = MainWindow()
mainWindow.show()
sys.exit(app.exec_())
```
这个代码中,我们使用了PyQt5库中的QMainWindow、QLabel、QComboBox、QPushButton、QLineEdit、QTextEdit和QTableWidget控件,来实现一个简单的库存管理软件。你可以根据自己的需求进行修改和完善。