1、项目说明
基于python+PyQt5的GUI点餐系统项目实战
项目需要安装pycharm社区版或专业版都可,以及项目所需的所有模块
项目需要安装PyQt5及其他一些模块(详见项目所需模块文件夹)
安装命令如下:
- pip install -i https://pypi.tuna.tsinghua.edu.cn/simple 模块名称
项目打包为exe文件需要安装pyinstaller
执行命令:pyinstaller -F -w main.py -i logo图片的地址
2、项目主要技术
-
python编程技术
-
pyqt5界面编程
-
python文件操作
3、项目结构
-
order 存放订单小票信息的文件夹
-
picture 存放图片的文件夹
-
activityUI.py 活动商品页面的设计与实现
-
mainUI.py 主页面的设计与实现
-
normalUI.py 单点商品页面设计与实现
-
packageUI.py 套餐商品页面的设计与实现
-
mian.py 程序主界面功能实现代码
4、项目主要功能
-
登录验证
-
点餐功能
-
结算功能
-
小票信息生成
5、部分源码
mainUI.py
"""
项目名称:python pyqt5 点餐系统
作者:bhml
时间:2023/1/28
代码功能:主界面样式设计
"""
from PyQt5 import QtCore, QtWidgets
class Ui_MainWindow(object):
def setupUi(self, MainWindow):
MainWindow.setObjectName("MainWindow")
MainWindow.resize(893, 489)
self.centralwidget = QtWidgets.QWidget(MainWindow)
self.centralwidget.setObjectName("centralwidget")
self.pushButton_2 = QtWidgets.QPushButton(self.centralwidget)
self.pushButton_2.setGeometry(QtCore.QRect(510, 20, 101, 41))
self.pushButton_2.setObjectName("pushButton_2")
self.pushButton_3 = QtWidgets.QPushButton(self.centralwidget)
self.pushButton_3.setGeometry(QtCore.QRect(510, 80, 101, 41))
self.pushButton_3.setObjectName("pushButton_3")
self.pushButton_4 = QtWidgets.QPushButton(self.centralwidget)
self.pushButton_4.setGeometry(QtCore.QRect(510, 140, 101, 41))
self.pushButton_4.setObjectName("pushButton_4")
self.label = QtWidgets.QLabel(self.centralwidget)
self.label.setGeometry(QtCore.QRect(510, 200, 200, 150))
self.label.setObjectName("label")
self.label.setStyleSheet('''
font : 25px;color: orange;
''')
self.label_2 = QtWidgets.QLabel(self.centralwidget)
self.label_2.setGeometry(QtCore.QRect(510, 240, 300, 160))
self.label_2.setObjectName("label_2")
self.label_2.setStyleSheet('''
font : 25px;color: red;
''')
self.label_3 = QtWidgets.QLabel(self.centralwidget)
self.label_3.setGeometry(QtCore.QRect(590, 250, 300, 160))
self.label_3.setObjectName("label_3")
self.label_3.setStyleSheet('''
font : 12px;color: red;
''')
self.label_4 = QtWidgets.QLabel(self.centralwidget)
self.label_4.setGeometry(QtCore.QRect(510, 260, 81, 21))
self.label_4.setObjectName("label_4")
self.label_4.setStyleSheet('''
font : 12px;color: red;
''')
self.label_7 = QtWidgets.QLabel(self.centralwidget)
self.label_7.setGeometry(QtCore.QRect(640, 20, 61, 21))
self.label_7.setObjectName("label_7")
self.tableWidget = QtWidgets.QTableWidget(self.centralwidget)
self.tableWidget.setGeometry(QtCore.QRect(640, 40, 241, 231))
self.tableWidget.setObjectName("tableWidget")
self.tableWidget.setColumnCount(3)
self.tableWidget.setRowCount(0)
item = QtWidgets.QTableWidgetItem()
self.tableWidget.setHorizontalHeaderItem(0, item)
item = QtWidgets.QTableWidgetItem()
self.tableWidget.setHorizontalHeaderItem(1, item)
item = QtWidgets.QTableWidgetItem()
self.tableWidget.setHorizontalHeaderItem(2, item)
self.tableWidget.horizontalHeader().setDefaultSectionSize(70)
self.pushButton_5 = QtWidgets.QPushButton(self.centralwidget)
self.pushButton_5.setGeometry(QtCore.QRect(640, 290, 71, 31))
self.pushButton_5.setObjectName("pushButton_5")
self.pushButton_6 = QtWidgets.QPushButton(self.centralwidget)
self.pushButton_6.setGeometry(QtCore.QRect(640, 350, 91, 31))
self.pushButton_6.setObjectName("pushButton_6")
self.pushButton_7 = QtWidgets.QPushButton(self.centralwidget)
self.pushButton_7.setGeometry(QtCore.QRect(750, 350, 91, 31))
self.pushButton_7.setObjectName("pushButton_7")
self.label_8 = QtWidgets.QLabel(self.centralwidget)
self.label_8.setGeometry(QtCore.QRect(10, 10, 481, 431))
self.label_8.setObjectName("label_8")
MainWindow.setCentralWidget(self.centralwidget)
self.menubar = QtWidgets.QMenuBar(MainWindow)
self.menubar.setGeometry(QtCore.QRect(0, 0, 893, 26))
self.menubar.setObjectName("menubar")
MainWindow.setMenuBar(self.menubar)
self.statusbar = QtWidgets.QStatusBar(MainWindow)
self.statusbar.setObjectName("statusbar")
MainWindow.setStatusBar(self.statusbar)
self.retranslateUi(MainWindow)
QtCore.QMetaObject.connectSlotsByName(MainWindow)
def retranslateUi(self, MainWindow):
_translate = QtCore.QCoreApplication.translate
MainWindow.setWindowTitle(_translate("MainWindow", "Python点餐系统"))
self.pushButton_2.setText(_translate("MainWindow", "单点商品"))
self.pushButton_3.setText(_translate("MainWindow", "套餐商品"))
self.pushButton_4.setText(_translate("MainWindow", "活动商品"))
self.label.setText(_translate("MainWindow", "共计:"))
self.label_3.setText(_translate("MainWindow", "元"))
self.label_7.setText(_translate("MainWindow", "您的订单"))
item = self.tableWidget.horizontalHeaderItem(0)
item.setText(_translate("MainWindow", "名称"))
item = self.tableWidget.horizontalHeaderItem(1)
item.setText(_translate("MainWindow", "数量"))
item = self.tableWidget.horizontalHeaderItem(2)
item.setText(_translate("MainWindow", "价格/元"))
self.pushButton_5.setText(_translate("MainWindow", "删除商品"))
self.pushButton_6.setText(_translate("MainWindow", "结算"))
self.pushButton_7.setText(_translate("MainWindow", "付款打印"))
self.label_8.setText(_translate("MainWindow", "图"))
6、运行截图
7、项目总结
本项目是一个非常适合练手的项目,对我们的python编程技术结合pyqt5模块运用开发界面的提升有很大的帮助,推荐大家学习研究这个项目,搞懂其中的业务逻辑流程以及各个知识点非常关键。
项目资料截图:
资料获取地址:https://h5.m.taobao.com/awp/core/detail.htm?ft=t&id=692912597391
B站视频讲解地址:https://www.bilibili.com/video/BV1P84y157yF/
注:其他问题请参看视频讲解,都有介绍,一定要认真看完哦!
代码编写、视频录制不易,感谢您的支持,祝您学习愉快!