Python KFC点餐系统

KFC点餐系统
废话不多说,直接上代码,首先是界面的代码

  • 主食界面
from PyQt5 import QtCore, QtGui, QtWidgets
class ZS(object):
    def setupUi(self, MainWindow):
        MainWindow.setObjectName("MainWindow")
        MainWindow.resize(719, 532)
        self.centralwidget = QtWidgets.QWidget(MainWindow)
        self.centralwidget.setObjectName("centralwidget")
        self.ZS = QtWidgets.QLabel(self.centralwidget)
        self.ZS.setGeometry(QtCore.QRect(10, 20, 71, 31))
        self.ZS.setObjectName("ZS")
        self.ZJWB = QtWidgets.QLabel(self.centralwidget)
        self.ZJWB.setGeometry(QtCore.QRect(80, 50, 131, 191))
        self.ZJWB.setObjectName("ZJWB")
        self.ZJTB = QtWidgets.QLabel(self.centralwidget)
        self.ZJTB.setGeometry(QtCore.QRect(300, 50, 131, 191))
        self.ZJTB.setObjectName("ZJTB")
        self.Z_Price1 = QtWidgets.QLabel(self.centralwidget)
        self.Z_Price1.setGeometry(QtCore.QRect(80, 250, 81, 16))
        self.Z_Price1.setObjectName("Z_Price1")
        self.Z_Price2 = QtWidgets.QLabel(self.centralwidget)
        self.Z_Price2.setGeometry(QtCore.QRect(310, 250, 81, 16))
        self.Z_Price2.setObjectName("Z_Price2")
        self.ZOrder1 = QtWidgets.QSpinBox(self.centralwidget)
        self.ZOrder1.setGeometry(QtCore.QRect(90, 280, 42, 22))
        self.ZOrder1.setObjectName("ZOrder1")
        self.ZOrder2 = QtWidgets.QSpinBox(self.centralwidget)
        self.ZOrder2.setGeometry(QtCore.QRect(310, 280, 42, 22))
        self.ZOrder2.setObjectName("ZOrder2")
        self.pushButton = QtWidgets.QPushButton(self.centralwidget)
        self.pushButton.setGeometry(QtCore.QRect(540, 400, 75, 23))
        self.pushButton.setObjectName("pushButton")
        MainWindow.setCentralWidget(self.centralwidget)
        self.menubar = QtWidgets.QMenuBar(MainWindow)
        self.menubar.setGeometry(QtCore.QRect(0, 0, 719, 23))
        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", "MainWindow"))
        self.ZS.setText(_translate("MainWindow", ">汉堡主食:"))
        self.ZJWB.setText(_translate("MainWindow", "巨无霸"))
        self.ZJTB.setText(_translate("MainWindow", "鸡腿堡"))
        self.Z_Price1.setText(_translate("MainWindow", "20.0元/份"))
        self.Z_Price2.setText(_translate("MainWindow", "20.0元/份"))
        self.pushButton.setText(_translate("MainWindow", "加入清单"))
  • 活动界面
# -*- coding: utf-8 -*-
from PyQt5 import QtCore, QtGui, QtWidgets
class HD(object):
    def setupUi(self, MainWindow):
        MainWindow.setObjectName("MainWindow")
        MainWindow.resize(719, 532)
        self.centralwidget = QtWidgets.QWidget(MainWindow)
        self.centralwidget.setObjectName("centralwidget")
        self.ZXHD = QtWidgets.QLabel(self.centralwidget)
        self.ZXHD.setGeometry(QtCore.QRect(10, 20, 71, 31))
        self.ZXHD.setObjectName("ZXHD")
        self.HZJPJ = QtWidgets.QLabel(self.centralwidget)
        self.HZJPJ.setGeometry(QtCore.QRect(80, 50, 131, 191))
        self.HZJPJ.setObjectName("HZJPJ")
        self.HJCTZ = QtWidgets.QLabel(self.centralwidget)
        self.HJCTZ.setGeometry(QtCore.QRect(300, 50, 131, 191))
        self.HJCTZ.setObjectName("HJCTZ")
        self.HWSJ = QtWidgets.QLabel(self.centralwidget)
        self.HWSJ.setGeometry(QtCore.QRect(540, 50, 131, 191))
        self.HWSJ.setObjectName("HWSJ")
        self.H_Price1 = QtWidgets.QLabel(self.centralwidget)
        self.H_Price1.setGeometry(QtCore.QRect(80, 250, 81, 16))
        self.H_Price1.setObjectName("H_Price1")
        self.H_Price2 = QtWidgets.QLabel(self.centralwidget)
        self.H_Price2.setGeometry(QtCore.QRect(310, 250, 81, 16))
        self.H_Price2.setObjectName("H_Price2")
        self.H_Price3 = QtWidgets.QLabel(self.centralwidget)
        self.H_Price3.setGeometry(QtCore.QRect(540, 250, 81, 16))
        self.H_Price3.setObjectName("H_Price3")
        self.HOrder1 = QtWidgets.QSpinBox(self.centralwidget)
        self.HOrder1.setGeometry(QtCore.QRect(90, 280, 42, 22))
        self.HOrder1.setObjectName("啤酒鸡翅")
        self.HOrder2 = QtWidgets.QSpinBox(self.centralwidget)
        self.HOrder2.setGeometry(QtCore.QRect(310, 280, 42, 22))
        self.HOrder2.setObjectName("翅桶")
        self.HOrder3 = QtWidgets.QSpinBox(self.centralwidget)
        self.HOrder3.setGeometry(QtCore.QRect(550, 280, 42, 22))
        self.HOrder3.setObjectName("万圣节")
        self.HJoin = QtWidgets.QPushButton(self.centralwidget)
        self.HJoin.setGeometry(QtCore.QRect(540, 400, 75, 23))
        self.HJoin.setObjectName("HJoin")
        MainWindow.setCentralWidget(self.centralwidget)
        self.menubar = QtWidgets.QMenuBar(MainWindow)
        self.menubar.setGeometry(QtCore.QRect(0, 0, 719, 23))
        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", "MainWindow"))
        self.ZXHD.setText(_translate("MainWindow", ">最新活动:"))
        self.HZJPJ.setText(_translate("MainWindow", "炸鸡啤酒干杯桶"))
        self.HJCTZ.setText(_translate("MainWindow", "鸡翅桶装"))
        self.HWSJ.setText(_translate("MainWindow", "万圣节日警报桶装"))
        self.H_Price1.setText(_translate("MainWindow", "115.0元/份"))
        self.H_Price2.setText(_translate("MainWindow", "80.0元/份"))
        self.H_Price3.setText(_translate("MainWindow", "100.0元/份"))
        self.HJoin.setText(_translate("MainWindow", "加入清单"))


  • 套餐界面

from PyQt5 import QtCore, QtGui, QtWidgets
class JT(object):
def setupUi(self, MainWindow):
MainWindow.setObjectName(“MainWindow”)
MainWindow.resize(719, 532)
self.centralwidget = QtWidgets.QWidget(MainWindow)
self.centralwidget.setObjectName(“centralwidget”)
self.JTTC = QtWidgets.QLabel(self.centralwidget)
self.JTTC.setGeometry(QtCore.QRect(10, 20, 71, 31))
self.JTTC.setObjectName(“JTTC”)
self.SRTC = QtWidgets.QLabel(self.centralwidget)
self.SRTC.setGeometry(QtCore.QRect(80, 50, 131, 191))
self.SRTC.setObjectName(“SRTC”)
self.WRTC = QtWidgets.QLabel(self.centralwidget)
self.WRTC.setGeometry(QtCore.QRect(300, 50, 131, 191))
self.WRTC.setObjectName(“WRTC”)
self.T_Price1 = QtWidgets.QLabel(self.centralwidget)
self.T_Price1.setGeometry(QtCore.QRect(80, 250, 81, 16))
self.T_Price1.setObjectName(“T_Price1”)
self.T_Price2 = QtWidgets.QLabel(self.centralwidget)
self.T_Price2.setGeometry(QtCore.QRect(310, 250, 81, 16))
self.T_Price2.setObjectName(“T_Price2”)
self.TOrder1 = QtWidgets.QSpinBox(self.centralwidget)
self.TOrder1.setGeometry(QtCore.QRect(90, 280, 42, 22))
self.TOrder1.setObjectName(“TOrder1”)
self.TOrder2 = QtWidgets.QSpinBox(self.centralwidget)
self.TOrder2.setGeometry(QtCore.QRect(310, 280, 42, 22))
self.TOrder2.setObjectName(“TOrder2”)
self.Tjoin = QtWidgets.QPushButton(self.centralwidget)
self.Tjoin.setGeometry(QtCore.QRect(540, 400, 75, 23))
self.Tjoin.setObjectName(“Tjoin”)
MainWindow.setCentralWidget(self.centralwidget)
self.menubar = QtWidgets.QMenuBar(MainWindow)
self.menubar.setGeometry(QtCore.QRect(0, 0, 719, 23))
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", "MainWindow"))
    self.JTTC.setText(_translate("MainWindow", ">家庭套餐:"))
    self.SRTC.setText(_translate("MainWindow", "三人套餐"))
    self.WRTC.setText(_translate("MainWindow", "五人套餐"))
    self.T_Price1.setText(_translate("MainWindow", "120.0元/份"))
    self.T_Price2.setText(_translate("MainWindow", "200.0元/份"))
    self.Tjoin.setText(_translate("MainWindow", "加入清单"))
  • 主界面

-- coding: utf-8 --

Form implementation generated from reading ui file ‘kfc.ui’

Created by: PyQt5 UI code generator 5.11.2

WARNING! All changes made in this file will be lost!

from PyQt5.QtWidgets import *
from PyQt5 import QtCore, QtGui, QtWidgets
import sys
class ZJM(object):
def setupUi(self,MainWindow):
MainWindow.setObjectName(“MainWindow”)
MainWindow.resize(780, 585)
self.centralwidget = QtWidgets.QWidget(MainWindow)
self.centralwidget.setObjectName(“centralwidget”)
self.KIND = QtWidgets.QComboBox(self.centralwidget)
self.KIND.setGeometry(QtCore.QRect(30, 380, 251, 22))
self.KIND.setObjectName(“kind”)
self.KIND.addItem("")
self.KIND.addItem("")
self.KIND.addItem("")
self.KIND.addItem("")
self.KIND.addItem("")
self.tableWidget = QtWidgets.QTableWidget(self.centralwidget)
self.tableWidget.setGeometry(QtCore.QRect(340, 30, 431, 281))
self.tableWidget.setObjectName(“tableWidget”)
self.tableWidget.setColumnCount(4)
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)
item = QtWidgets.QTableWidgetItem()
self.tableWidget.setHorizontalHeaderItem(3, item)
self.label = QtWidgets.QLabel(self.centralwidget)
self.label.setGeometry(QtCore.QRect(590, 330, 51, 21))
self.label.setObjectName(“label”)
self.lineEdit = QtWidgets.QLineEdit(self.centralwidget)
self.lineEdit.setGeometry(QtCore.QRect(650, 330, 113, 20))
self.lineEdit.setObjectName(“lineEdit”)
self.label_2 = QtWidgets.QLabel(self.centralwidget)
self.label_2.setGeometry(QtCore.QRect(390, 330, 71, 20))
self.label_2.setObjectName(“label_2”)
self.spinBox = QtWidgets.QSpinBox(self.centralwidget)
self.spinBox.setGeometry(QtCore.QRect(480, 330, 42, 22))
self.spinBox.setObjectName(“spinBox”)
self.pushButton_2 = QtWidgets.QPushButton(self.centralwidget)
self.pushButton_2.setGeometry(QtCore.QRect(460, 380, 51, 23))
self.pushButton_2.setObjectName(“pushButton_2”)
self.pushButton_3 = QtWidgets.QPushButton(self.centralwidget)
self.pushButton_3.setGeometry(QtCore.QRect(390, 380, 51, 23))
self.pushButton_3.setObjectName(“pushButton_3”)
self.kfcBack = QtWidgets.QLabel(self.centralwidget)
self.kfcBack.setGeometry(QtCore.QRect(40, 40, 261, 271))
self.kfcBack.setObjectName(“kfcBack”)
MainWindow.setCentralWidget(self.centralwidget)
self.menubar = QtWidgets.QMenuBar(MainWindow)
self.menubar.setGeometry(QtCore.QRect(0, 0, 780, 23))
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", "MainWindow"))
    self.KIND.setItemText(0, _translate("MainWindow", "选择餐品"))
    self.KIND.setItemText(1, _translate("MainWindow", "最新活动"))
    self.KIND.setItemText(2, _translate("MainWindow", "汉堡/主食"))
    self.KIND.setItemText(3, _translate("MainWindow", "咖啡/茶/饮料"))
    self.KIND.setItemText(4, _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", "单价"))
    item = self.tableWidget.horizontalHeaderItem(3)
    item.setText(_translate("MainWindow", "金额"))
    self.label.setText(_translate("MainWindow", "  合计:"))
    self.label_2.setText(_translate("MainWindow", "10元优惠卷"))
    self.pushButton_2.setText(_translate("MainWindow", "结算"))
    self.pushButton_3.setText(_translate("MainWindow", "删除"))
    self.kfcBack.setText(_translate("MainWindow", "TextLabel"))
  • 响应事件代码
from kfc import *
from Jiatintaocan import *
from Zhushi import *
from HUODON import *
from YinLiaoTianPing import *
from PyQt5.QtCore import Qt
import sys
class KFCDC(QMainWindow,ZJM):
    def __init__(self):
        self.flag1=0
        self.flag2=0
        self.flag3=0
        self.flag=0
        self.mealName='鸡翅'
        self.quanTity=10
        self.unitPrice=10
        self.moNey=10
        super(KFCDC, self).__init__()
        self.setupUi(self)
        self.child1=ActivityPackage()
        self.child2=Main_Food()
        self.child3=DrInk()
        self.child4=FaMily()
        self.KIND.currentIndexChanged.connect(self.Show)
        self.kfcBack.setPixmap(QtGui.QPixmap('./image/back.jpg'))
        self.kfcBack.setScaledContents(True)
    def Show(self):
        # self.KIND.currentIndexChanged(SELECT.select)
        if self.KIND.currentText() == '最新活动':
            self.child1.show()
        elif self.KIND.currentText() == '汉堡/主食':
            self.child2.show()
        elif self.KIND.currentText() == '咖啡/茶/饮料':
            self.child3.show()
        elif self.KIND.currentText() == '家庭套餐':
            self.child4.show()
    def QSS1(self,name,quantity,price,amount):
        self.Meal_Name = QTableWidgetItem(name)
        self.Meal_Name.setTextAlignment(Qt.AlignCenter)
        self.Quan_Tity = QTableWidgetItem(str(quantity))
        self.Quan_Tity.setTextAlignment(Qt.AlignCenter)
        self.Unit_Price = QTableWidgetItem(str(price))
        self.Unit_Price.setTextAlignment(Qt.AlignCenter)
        self.Sum_Money = QTableWidgetItem(str(amount))
        self.Sum_Money.setTextAlignment(Qt.AlignCenter)
        # self.flag = self.flag + 1
        self.Add(self.Meal_Name,self.Quan_Tity,self.Unit_Price,self.Sum_Money)
        print(self.Quan_Tity.text())
        #
    def QSS2(self, name, quantity, price, amount):
        self.Meal_Name = QTableWidgetItem(name)
        self.Meal_Name.setTextAlignment(Qt.AlignCenter)
        self.Quan_Tity = QTableWidgetItem(str(quantity))
        self.Quan_Tity.setTextAlignment(Qt.AlignCenter)
        self.Unit_Price = QTableWidgetItem(str(price))
        self.Unit_Price.setTextAlignment(Qt.AlignCenter)
        self.Sum_Money = QTableWidgetItem(str(amount))
        self.Sum_Money.setTextAlignment(Qt.AlignCenter)
        # self.flag = self.flag + 1
        # self.Add(self.Meal_Name, self.Quan_Tity, self.Unit_Price, self.Sum_Money)
        self.flag2 = self.flag2 + 1
    def QSS3(self, name, quantity, price, amount):
        Meal_Name = QTableWidgetItem(name)
        Meal_Name.setTextAlignment(Qt.AlignCenter)
        Quan_Tity = QTableWidgetItem(str(quantity))
        Quan_Tity.setTextAlignment(Qt.AlignCenter)
        Unit_Price = QTableWidgetItem(str(price))
        Unit_Price.setTextAlignment(Qt.AlignCenter)
        Sum_Money = QTableWidgetItem(str(amount))
        Sum_Money.setTextAlignment(Qt.AlignCenter)
        
        self.flag3 = self.flag3 + 1
    def LiSt(self):
        self.tableWidget.setItem(0, 0, self.Meal_Name)
        self.tableWidget.setItem(0, 1, self.Quan_Tity)
        self.tableWidget.setItem(0, 2, self.Unit_Price)
        self.tableWidget.setItem(0, 3, self.Sum_Money)
    def Add(self,Meal_Name, Quan_Tity, Unit_Price,Sum_Money):
            self.Rowcont = self.tableWidget.rowCount()
            if(self.flag1==0):
                self.tableWidget.insertRow(self.Rowcont)
                self.tableWidget.setItem(self.Rowcont, 0, Meal_Name)
                self.tableWidget.setItem(self.Rowcont, 1, Quan_Tity)
                self.tableWidget.setItem(self.Rowcont, 2, Unit_Price)
                self.tableWidget.setItem(self.Rowcont, 3, Sum_Money)
                self.flag1 = self.flag1 + 1
                return self.flag1
            elif(self.flag1==1):
                # print(self.flag1)
                # self.self.Rowcont = self.tableWidget.rowCount()
                for i in range(self.Rowcont):
                    if(self.tableWidget.item(0,0).text()==Meal_Name):
                        self.Rowcont = self.tableWidget.rowCount()
                        self.tableWidget.setItem(self.Rowcont, 0, Meal_Name)
                        self.tableWidget.setItem(self.Rowcont, 1, Quan_Tity)
                        self.tableWidget.setItem(self.Rowcont, 2, Unit_Price)
                        self.tableWidget.setItem(self.Rowcont, 3, Sum_Money)
class ActivityPackage(QMainWindow,HD):
    def __init__(self):
        super(ActivityPackage, self).__init__()
        self.setupUi(self)
        self.HZJPJ.setPixmap(QtGui.QPixmap('./image/啤酒鸡翅.jpg'))
        self.HZJPJ.setScaledContents(True)
        self.HWSJ.setPixmap(QtGui.QPixmap('./image/万圣节限定.jpg'))
        self.HWSJ.setScaledContents(True)
        self.HJCTZ.setPixmap(QtGui.QPixmap('./image/限定活动.jpg'))
        self.HJCTZ.setScaledContents(True)
        self.Meal_Name1='啤酒鸡翅'
        self.Meal_Name2 = '翅桶'
        self.Meal_Name3 = '万圣节'
        self.Chicken_Price=115.0
        self.Wings_Price=80.0
        self.Halloween=100.0
        self.HOrder1.valueChanged.connect(self.Add1)
        self.HOrder2.valueChanged.connect(self.Add2)
        self.HOrder3.valueChanged.connect(self.Add3)
        self.HJoin.clicked.connect(self.H_JOIN)
    def Add1(self):
        self.QuanTity1=self.HOrder1.value()
        self.Amount1 = self.Chicken_Price * self.QuanTity1

        # print(self.QuanTity1)
        kfdc.QSS1(self.Meal_Name1, self.QuanTity1, self.Chicken_Price, self.Amount1)
        # return self.QuanTity1,self.Amount1


    def Add2(self):
        self.QuanTity2 = self.HOrder2.value()
        self.Amount2 = self.Wings_Price * self.QuanTity2
        kfdc.QSS2(self.Meal_Name2, self.QuanTity2, self.Wings_Price, self.Amount2)

        return self.QuanTity2, self.Amount2
    def Add3(self):
        self.QuanTity3= self.HOrder3.value()
        self.Amount3 = self.Halloween * self.QuanTity3
        kfdc.QSS3(self.Meal_Name3, self.QuanTity3, self.Halloween, self.Amount3)

        return self.QuanTity3, self.Amount3
    def Price(self):
        return self.Amount1,self.Amount2,self.Amount3
    def H_JOIN(self):
        print(self.Meal_Name1)
        print(self.QuanTity1)
        print(self.Chicken_Price)
        print(self.Amount1)

class Main_Food(QMainWindow,ZS):
    def __init__(self):
        super(Main_Food, self).__init__()
        self.setupUi(self)
        # self.SELEC.
    def shod(self):
        # self.aa=SELECT()
        self.aa.show()

class DrInk(QMainWindow, YL):
    def __init__(self):
        super(DrInk, self).__init__()
        self.setupUi(self)
            # self.SELEC.

    def shod(self):
        # self.aa = SELECT()
        self.aa.show()
class FaMily(QMainWindow, JT):
    def __init__(self):
        super(FaMily, self).__init__()
        self.setupUi(self)
            # self.SELEC.
    def shod(self):
       
        self.aa.show()
    
if __name__ == '__main__':
    app = QApplication(sys.argv)
    MainWindow = QMainWindow()
   
    kfdc=KFCDC()
    

    kfdc.show()
   
    sys.exit(app.exec_())

Python KFC点餐系统_第1张图片

Python KFC点餐系统_第2张图片
Python KFC点餐系统_第3张图片

总结:相对之前的程序来说,本次KFC点餐系统,覆盖面更广,我也遇到了很多困难,程序还有很多功能未能实现,还需要不断完善,下次完善了再重新发一次

你可能感兴趣的:(Python,Pyqt5)