首页 > 编程语言 >【项目实战】基于Python+PyQt5的GUI点餐系统(附完整源码)

【项目实战】基于Python+PyQt5的GUI点餐系统(附完整源码)

时间:2023-03-12 22:34:23浏览次数:59  
标签:setObjectName Python GUI QtWidgets self 源码 label MainWindow pushButton

1、项目说明

基于python+PyQt5的GUI点餐系统项目实战

项目需要安装pycharm社区版或专业版都可,以及项目所需的所有模块

项目需要安装PyQt5及其他一些模块(详见项目所需模块文件夹)
安装命令如下:

项目打包为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/
 
注:其他问题请参看视频讲解,都有介绍,一定要认真看完哦!
代码编写、视频录制不易,感谢您的支持,祝您学习愉快!
 

避免走丢,记得关注哦

标签:setObjectName,Python,GUI,QtWidgets,self,源码,label,MainWindow,pushButton
From: https://www.cnblogs.com/bhml/p/17209421.html

相关文章