侯体宗的博客
  • 首页
  • Hyperf版
  • beego仿版
  • 人生(杂谈)
  • 技术
  • 关于我
  • 更多分类
    • 文件下载
    • 文字修仙
    • 中国象棋ai
    • 群聊
    • 九宫格抽奖
    • 拼图
    • 消消乐
    • 相册

python+pyqt5实现KFC点餐收银系统

Python  /  管理员 发布于 7年前   183

本文实例为大家分享了python实现KFC点餐收银系统的具体代码,供大家参考,具体内容如下

这个kfc收银系统我实现了的以下功能:

1.正常餐品结算和找零。
2.基本套餐结算和找零。
3.使用优惠还郝虿推方崴愫驼伊恪
4.可在一定时间段参与店内活动
5.模拟打印小票的功能(写到文件中)。

工程文件:

肯德基.py文件实现各功能、kfctip.txt文件用于打印小票、picture文件里存放界面所需的图片、其他四个文件为各界面布局。

主界面:

正常餐品点餐界面:

套餐点餐界面:

活动套餐点餐界面:

当点击第二个活动套餐时:

加入订单点击返回后主界面会生成订单信息:

点击结算:




打印小票到文件:

以下是代码实现:

界面布局均使用pyqt5

主界面布局:

from PyQt5 import QtCore, QtWidgetsclass 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, 111, 21)) self.label.setObjectName("label") self.label_2 = QtWidgets.QLabel(self.centralwidget) self.label_2.setGeometry(QtCore.QRect(510, 230, 72, 15)) self.label_2.setObjectName("label_2") self.label_3 = QtWidgets.QLabel(self.centralwidget) self.label_3.setGeometry(QtCore.QRect(590, 230, 21, 16)) self.label_3.setObjectName("label_3") 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_5 = QtWidgets.QLabel(self.centralwidget) self.label_5.setGeometry(QtCore.QRect(510, 290, 72, 15)) self.label_5.setObjectName("label_5") self.label_6 = QtWidgets.QLabel(self.centralwidget) self.label_6.setGeometry(QtCore.QRect(590, 290, 21, 16)) self.label_6.setObjectName("label_6") 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", "肯德基")) 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_2.setText(_translate("MainWindow", "钱")) self.label_3.setText(_translate("MainWindow", "元")) self.label_4.setText(_translate("MainWindow", "您的优惠券")) self.label_5.setText(_translate("MainWindow", "券")) self.label_6.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", "图"))

正常套餐界面:

from PyQt5 import QtCore, QtWidgetsclass Ui_Normal(object): def setupUi(self, Form): Form.setObjectName("Form") Form.resize(728, 459) self.pushButton = QtWidgets.QPushButton(Form) self.pushButton.setGeometry(QtCore.QRect(40, 190, 93, 41)) self.pushButton.setObjectName("pushButton") self.pushButton_2 = QtWidgets.QPushButton(Form) self.pushButton_2.setGeometry(QtCore.QRect(260, 190, 93, 41)) self.pushButton_2.setObjectName("pushButton_2") self.pushButton_3 = QtWidgets.QPushButton(Form) self.pushButton_3.setGeometry(QtCore.QRect(480, 190, 93, 41)) self.pushButton_3.setObjectName("pushButton_3") self.pushButton_4 = QtWidgets.QPushButton(Form) self.pushButton_4.setGeometry(QtCore.QRect(40, 400, 93, 41)) self.pushButton_4.setObjectName("pushButton_4") self.pushButton_5 = QtWidgets.QPushButton(Form) self.pushButton_5.setGeometry(QtCore.QRect(620, 400, 93, 41)) self.pushButton_5.setObjectName("pushButton_5") self.pushButton_6 = QtWidgets.QPushButton(Form) self.pushButton_6.setGeometry(QtCore.QRect(260, 400, 93, 41)) self.pushButton_6.setObjectName("pushButton_6") self.label = QtWidgets.QLabel(Form) self.label.setGeometry(QtCore.QRect(50, 170, 72, 15)) self.label.setObjectName("label") self.label_2 = QtWidgets.QLabel(Form) self.label_2.setGeometry(QtCore.QRect(30, 140, 121, 21)) self.label_2.setObjectName("label_2") self.label_3 = QtWidgets.QLabel(Form) self.label_3.setGeometry(QtCore.QRect(30, 10, 121, 111)) self.label_3.setObjectName("label_3") self.label_4 = QtWidgets.QLabel(Form) self.label_4.setGeometry(QtCore.QRect(270, 170, 72, 15)) self.label_4.setObjectName("label_4") self.label_5 = QtWidgets.QLabel(Form) self.label_5.setGeometry(QtCore.QRect(270, 140, 72, 15)) self.label_5.setObjectName("label_5") self.label_6 = QtWidgets.QLabel(Form) self.label_6.setGeometry(QtCore.QRect(240, 10, 131, 111)) self.label_6.setObjectName("label_6") self.label_7 = QtWidgets.QLabel(Form) self.label_7.setGeometry(QtCore.QRect(490, 170, 72, 15)) self.label_7.setObjectName("label_7") self.label_8 = QtWidgets.QLabel(Form) self.label_8.setGeometry(QtCore.QRect(480, 140, 91, 16)) self.label_8.setObjectName("label_8") self.label_9 = QtWidgets.QLabel(Form) self.label_9.setGeometry(QtCore.QRect(460, 10, 131, 111)) self.label_9.setObjectName("label_9") self.label_10 = QtWidgets.QLabel(Form) self.label_10.setGeometry(QtCore.QRect(50, 380, 72, 15)) self.label_10.setObjectName("label_10") self.label_11 = QtWidgets.QLabel(Form) self.label_11.setGeometry(QtCore.QRect(60, 360, 51, 16)) self.label_11.setObjectName("label_11") self.label_12 = QtWidgets.QLabel(Form) self.label_12.setGeometry(QtCore.QRect(30, 250, 121, 101)) self.label_12.setObjectName("label_12") self.label_13 = QtWidgets.QLabel(Form) self.label_13.setGeometry(QtCore.QRect(270, 380, 72, 15)) self.label_13.setObjectName("label_13") self.label_14 = QtWidgets.QLabel(Form) self.label_14.setGeometry(QtCore.QRect(250, 360, 131, 16)) self.label_14.setObjectName("label_14") self.label_15 = QtWidgets.QLabel(Form) self.label_15.setGeometry(QtCore.QRect(240, 250, 131, 101)) self.label_15.setObjectName("label_15") self.retranslateUi(Form) QtCore.QMetaObject.connectSlotsByName(Form) def retranslateUi(self, Form): _translate = QtCore.QCoreApplication.translate Form.setWindowTitle(_translate("Form", "Form")) self.pushButton.setText(_translate("Form", "加入订单")) self.pushButton_2.setText(_translate("Form", "加入订单")) self.pushButton_3.setText(_translate("Form", "加入订单")) self.pushButton_4.setText(_translate("Form", "加入订单")) self.pushButton_5.setText(_translate("Form", "返回")) self.pushButton_6.setText(_translate("Form", "加入订单")) self.label.setText(_translate("Form", "钱1")) self.label_2.setText(_translate("Form", "新奥尔良烤鸡腿堡")) self.label_3.setText(_translate("Form", "TextLabel")) self.label_4.setText(_translate("Form", "钱2")) self.label_5.setText(_translate("Form", "香辣鸡翅")) self.label_6.setText(_translate("Form", "TextLabel")) self.label_7.setText(_translate("Form", "钱3")) self.label_8.setText(_translate("Form", "波纹霸王薯条")) self.label_9.setText(_translate("Form", "TextLabel")) self.label_10.setText(_translate("Form", "钱4")) self.label_11.setText(_translate("Form", "乌龙茶")) self.label_12.setText(_translate("Form", "TextLabel")) self.label_13.setText(_translate("Form", "钱5")) self.label_14.setText(_translate("Form", "原味圣代(草莓酱)")) self.label_15.setText(_translate("Form", "TextLabel"))

套餐界面:

from PyQt5 import QtCore, QtWidgetsclass Ui_Package(object): def setupUi(self, Form): Form.setObjectName("Form") Form.resize(728, 393) self.pushButton = QtWidgets.QPushButton(Form) self.pushButton.setGeometry(QtCore.QRect(90, 280, 91, 31)) self.pushButton.setObjectName("pushButton") self.pushButton_2 = QtWidgets.QPushButton(Form) self.pushButton_2.setGeometry(QtCore.QRect(340, 280, 93, 31)) self.pushButton_2.setObjectName("pushButton_2") self.label = QtWidgets.QLabel(Form) self.label.setGeometry(QtCore.QRect(100, 250, 72, 15)) self.label.setObjectName("label") self.label_2 = QtWidgets.QLabel(Form) self.label_2.setGeometry(QtCore.QRect(350, 250, 72, 15)) self.label_2.setObjectName("label_2") self.label_3 = QtWidgets.QLabel(Form) self.label_3.setGeometry(QtCore.QRect(80, 220, 131, 21)) self.label_3.setObjectName("label_3") self.label_4 = QtWidgets.QLabel(Form) self.label_4.setGeometry(QtCore.QRect(330, 220, 111, 21)) self.label_4.setObjectName("label_4") self.label_5 = QtWidgets.QLabel(Form) self.label_5.setGeometry(QtCore.QRect(60, 20, 161, 171)) self.label_5.setObjectName("label_5") self.label_6 = QtWidgets.QLabel(Form) self.label_6.setGeometry(QtCore.QRect(300, 20, 171, 171)) self.label_6.setObjectName("label_6") self.pushButton_3 = QtWidgets.QPushButton(Form) self.pushButton_3.setGeometry(QtCore.QRect(560, 280, 101, 41)) self.pushButton_3.setObjectName("pushButton_3") self.retranslateUi(Form) QtCore.QMetaObject.connectSlotsByName(Form) def retranslateUi(self, Form): _translate = QtCore.QCoreApplication.translate Form.setWindowTitle(_translate("Form", "Form")) self.pushButton.setText(_translate("Form", "加入订单")) self.pushButton_2.setText(_translate("Form", "加入订单")) self.label.setText(_translate("Form", "钱1")) self.label_2.setText(_translate("Form", "钱2")) self.label_3.setText(_translate("Form", "翅桶辣堡奥堡套餐")) self.label_4.setText(_translate("Form", "万圣节日劲堡桶")) self.label_5.setText(_translate("Form", "TextLabel")) self.label_6.setText(_translate("Form", "TextLabel")) self.pushButton_3.setText(_translate("Form", "返回"))

活动界面:

from PyQt5 import QtCore, QtWidgetsclass Ui_Activity(object): def setupUi(self, Form): Form.setObjectName("Form") Form.resize(639, 335) self.pushButton = QtWidgets.QPushButton(Form) self.pushButton.setGeometry(QtCore.QRect(50, 240, 93, 31)) self.pushButton.setObjectName("pushButton") self.pushButton_2 = QtWidgets.QPushButton(Form) self.pushButton_2.setGeometry(QtCore.QRect(300, 240, 93, 31)) self.pushButton_2.setObjectName("pushButton_2") self.label = QtWidgets.QLabel(Form) self.label.setGeometry(QtCore.QRect(11, 220, 201, 20)) self.label.setObjectName("label") self.label_2 = QtWidgets.QLabel(Form) self.label_2.setGeometry(QtCore.QRect(20, 200, 161, 16)) self.label_2.setObjectName("label_2") self.label_3 = QtWidgets.QLabel(Form) self.label_3.setGeometry(QtCore.QRect(50, 180, 91, 16)) self.label_3.setObjectName("label_3") self.label_4 = QtWidgets.QLabel(Form) self.label_4.setGeometry(QtCore.QRect(30, 30, 141, 141)) self.label_4.setObjectName("label_4") self.label_5 = QtWidgets.QLabel(Form) self.label_5.setGeometry(QtCore.QRect(261, 220, 201, 20)) self.label_5.setObjectName("label_5") self.label_6 = QtWidgets.QLabel(Form) self.label_6.setGeometry(QtCore.QRect(270, 200, 161, 16)) self.label_6.setObjectName("label_6") self.label_7 = QtWidgets.QLabel(Form) self.label_7.setGeometry(QtCore.QRect(310, 180, 61, 16)) self.label_7.setObjectName("label_7") self.label_8 = QtWidgets.QLabel(Form) self.label_8.setGeometry(QtCore.QRect(280, 30, 151, 141)) self.label_8.setObjectName("label_8") self.pushButton_3 = QtWidgets.QPushButton(Form) self.pushButton_3.setGeometry(QtCore.QRect(490, 250, 101, 31)) self.pushButton_3.setObjectName("pushButton_3") self.retranslateUi(Form) QtCore.QMetaObject.connectSlotsByName(Form) def retranslateUi(self, Form): _translate = QtCore.QCoreApplication.translate Form.setWindowTitle(_translate("Form", "Form")) self.pushButton.setText(_translate("Form", "加入订单")) self.pushButton_2.setText(_translate("Form", "加入订单")) self.label.setText(_translate("Form", "钱1")) self.label_2.setText(_translate("Form", "2018.10.1-2018.10.31")) self.label_3.setText(_translate("Form", "葡式蛋挞5只")) self.label_4.setText(_translate("Form", "TextLabel")) self.label_5.setText(_translate("Form", "钱2")) self.label_6.setText(_translate("Form", "2018.11.1-2018.11.11")) self.label_7.setText(_translate("Form", "超级翅桶")) self.label_8.setText(_translate("Form", "TextLabel")) self.pushButton_3.setText(_translate("Form", "返回"))

以下为实现各界面互联和各功能的实现(注释比较详细这里就不多说了):

# -*- coding: utf-8 -*-# 作者:dcjmessi# 日期:2018/10/19from kfcmain import *from normal import *from package import *from activity import *import sysfrom PyQt5.QtWidgets import *from PyQt5.QtGui import QPixmapclass KFC_Main(QMainWindow): def __init__(self): QMainWindow.__init__(self) self.main_ui = Ui_MainWindow() self.main_ui.setupUi(self) # 给按钮绑定方法 btn_del = self.main_ui.pushButton_5 btn_del.clicked.connect(self.order_del) btn_num = self.main_ui.pushButton_6 btn_num.clicked.connect(self.order_num) self.btn_tip = self.main_ui.pushButton_7 self.btn_tip.clicked.connect(self.order_tip) # 设置按钮为当前不可用 self.btn_tip.setEnabled(False) # 定义列表 self.num = [] self.new_num = [] # 主界面显示 def person(self): # 主界面贴图 self.main_ui.label_8.setPixmap(QPixmap('./picture/主界图.png')) # 将图片完全填充 self.main_ui.label_8.setScaledContents(True) # 初始化会员储值余额 self.balance = 200 # 初始化优惠券数量 self.coupons = 1 # 显示余额和券数量 self.main_ui.label_2.setText(str(self.balance)) self.main_ui.label_5.setText(str(self.coupons)) # 显示主界面 kfcmain.show() # 删除tableWidget所选行 def order_del(self): # 获取所选行索引 row_index = kfcmain.main_ui.tableWidget.currentRow() if row_index != -1:  # 删除  kfcmain.main_ui.tableWidget.removeRow(row_index) # 结算 def order_num(self): # 设置按钮为可用 self.btn_tip.setEnabled(True) # 遍历所有行 for row_index in range(kfcmain.main_ui.tableWidget.rowCount()):  # 将每一行的第三项值添加到num列表里  self.num.append(kfcmain.main_ui.tableWidget.item(row_index, 2).text()) # 将num中的字符转换成int型 self.new_num = eval('[' + (','.join(self.num)) + ']') # 将new_num列表值求和 self.money = sum(self.new_num) # 有优惠券时 if self.coupons >= 1:  # 消息提示框  button = QMessageBox.information(self, "温馨提示", "是否使用优惠券", QMessageBox.Yes | QMessageBox.No)  # 使用优惠券  if button == QMessageBox.Yes:  # 当前优惠券数量减一  self.coupons = self.coupons -1  self.main_ui.label_5.setText(str(self.coupons))  # 余额足够  if self.balance >= (self.money - self.coupons * 20):   QMessageBox.information(self, "恭喜您", "付款成功!", QMessageBox.Yes)   self.balance = self.balance - self.money - self.coupons * 20   self.main_ui.label_2.setText(str(self.balance))  else:   QMessageBox.information(self, "对不起", "您的会员储值卡余额不足!", QMessageBox.Yes)  # 不使用优惠券  else:  if self.balance >= self.money:   QMessageBox.information(self, "恭喜您", "付款成功!", QMessageBox.Yes)   self.balance = self.balance - self.money   self.main_ui.label_2.setText(str(self.balance))  else:   QMessageBox.information(self, "对不起", "您的会员储值卡余额不足!", QMessageBox.Yes) # 没有优惠券时 else:  if self.balance >= self.money:  QMessageBox.information(self, "恭喜您", "付款成功!", QMessageBox.Yes)  self.balance = self.balance - self.money  self.main_ui.label_2.setText(str(self.balance))  else:  QMessageBox.information(self, "对不起", "您的会员储值卡余额不足!", QMessageBox.Yes) # 打印小票 def order_tip(self): # 打开本地txt文件 with open("kfctip.txt", "w") as f:  # 遍历行  for row_index in range(kfcmain.main_ui.tableWidget.rowCount()):  # 遍历列  for column_index in range(kfcmain.main_ui.tableWidget.columnCount()):   # 将tableWidget数据写入文件   f.write(kfcmain.main_ui.tableWidget.item(row_index, column_index).text() + "\n")  f.write("合计:" + str(self.money) + "元") f.close()class Normal(QWidget): def __init__(self): QWidget.__init__(self) self.normal_ui = Ui_Normal() self.normal_ui.setupUi(self) # 初始化各基本餐加入订单按钮点击次数 self.bt1 = 0 self.bt2 = 0 self.bt3 = 0 self.bt4 = 0 self.bt6 = 0 # 初始化返回按钮点击次数 self.bt5 = 0 # 按钮绑定方法 btn_hamburg = self.normal_ui.pushButton btn_hamburg.clicked.connect(self.order_hamburg) btn_chicken = self.normal_ui.pushButton_2 btn_chicken.clicked.connect(self.order_chicken) btn_fries = self.normal_ui.pushButton_3 btn_fries.clicked.connect(self.order_fries) btn_tea = self.normal_ui.pushButton_4 btn_tea.clicked.connect(self.order_tea) btn_ice = self.normal_ui.pushButton_6 btn_ice.clicked.connect(self.order_ice) btn_return = self.normal_ui.pushButton_5 btn_return.clicked.connect(self.nor_show) # 显示基本餐界面 def nor_order(self): self.normal_ui.label_3.setPixmap(QPixmap('./picture/新奥尔良.png')) self.normal_ui.label_3.setScaledContents(True) self.normal_ui.label_6.setPixmap(QPixmap('./picture/鸡翅.png')) self.normal_ui.label_6.setScaledContents(True) self.normal_ui.label_9.setPixmap(QPixmap('./picture/薯条.png')) self.normal_ui.label_9.setScaledContents(True) self.normal_ui.label_12.setPixmap(QPixmap('./picture/乌龙茶.png')) self.normal_ui.label_12.setScaledContents(True) self.normal_ui.label_15.setPixmap(QPixmap('./picture/冰淇淋.png')) self.normal_ui.label_15.setScaledContents(True) # 基本餐价格 self.price_hamburg = 18.5 self.price_chicken = 11.0 self.price_fries = 13.0 self.price_tea = 13.5 self.price_ice = 10.0 # 显示价格 self.normal_ui.label.setText(str(self.price_hamburg)+"元/份") self.normal_ui.label_4.setText(str(self.price_chicken)+"元/份") self.normal_ui.label_7.setText(str(self.price_fries)+"元/份") self.normal_ui.label_10.setText(str(self.price_tea)+"元/份") self.normal_ui.label_13.setText(str(self.price_ice)+"元/份") normal.show() # 计算点击次数 def order_hamburg(self): self.bt1 += 1 def order_chicken(self): self.bt2 += 1 def order_fries(self): self.bt3 += 1 def order_tea(self): self.bt4 += 1 def order_ice(self): self.bt6 += 1 def nor_show(self): self.bt5 += 1 # 隐藏界面 normal.hide() # 获取所选各基本餐的数量对应的价格 self.num_hamburg = self.price_hamburg * self.bt1 self.num_chicken = self.price_chicken * self.bt2 self.num_fries = self.price_fries * self.bt3 self.num_tea = self.price_tea * self.bt4 self.num_ice = self.price_ice * self.bt6 # 不是第一次进入该界面 if self.bt5 > 1:  for row_index in range(kfcmain.main_ui.tableWidget.rowCount()):  # 获取tableWidget的所有名称,并放入name列表  name.append(kfcmain.main_ui.tableWidget.item(row_index, 0).text())  if '新奥尔良烤鸡腿堡' in name:  # 重新设置该行的数量和价格  kfcmain.main_ui.tableWidget.setItem(name.index('新奥尔良烤鸡腿堡'), 1, QTableWidgetItem("×" + str(self.bt1)))  kfcmain.main_ui.tableWidget.setItem(name.index('新奥尔良烤鸡腿堡'), 2, QTableWidgetItem(str(self.num_hamburg)))  if '新奥尔良烤鸡腿堡' not in name:  # 已选择  if self.bt1 != 0:   # 添加一行数据   row_count = kfcmain.main_ui.tableWidget.rowCount()   kfcmain.main_ui.tableWidget.insertRow(row_count)   kfcmain.main_ui.tableWidget.setItem(row_count, 0, QTableWidgetItem(normal.normal_ui.label_2.text()))   kfcmain.main_ui.tableWidget.setItem(row_count, 1, QTableWidgetItem("×" + str(self.bt1)))   kfcmain.main_ui.tableWidget.setItem(row_count, 2, QTableWidgetItem(str(self.num_hamburg)))  if '香辣鸡翅' in name:  kfcmain.main_ui.tableWidget.setItem(name.index('香辣鸡翅'), 1, QTableWidgetItem("×" + str(self.bt2)))  kfcmain.main_ui.tableWidget.setItem(name.index('香辣鸡翅'), 2, QTableWidgetItem(str(self.num_chicken)))  if '香辣鸡翅' not in name:  if self.bt2 != 0:   row_count = kfcmain.main_ui.tableWidget.rowCount()   kfcmain.main_ui.tableWidget.insertRow(row_count)   kfcmain.main_ui.tableWidget.setItem(row_count, 0, QTableWidgetItem(normal.normal_ui.label_5.text()))   kfcmain.main_ui.tableWidget.setItem(row_count, 1, QTableWidgetItem("×" + str(self.bt2)))   kfcmain.main_ui.tableWidget.setItem(row_count, 2, QTableWidgetItem(str(self.num_chicken)))  if '波纹霸王薯条' in name:  kfcmain.main_ui.tableWidget.setItem(name.index('波纹霸王薯条'), 1, QTableWidgetItem("×" + str(self.bt3)))  kfcmain.main_ui.tableWidget.setItem(name.index('波纹霸王薯条'), 2, QTableWidgetItem(str(self.num_fries)))  if '波纹霸王薯条' not in name:  if self.bt3 != 0:   row_count = kfcmain.main_ui.tableWidget.rowCount()   kfcmain.main_ui.tableWidget.insertRow(row_count)   kfcmain.main_ui.tableWidget.setItem(row_count, 0, QTableWidgetItem(normal.normal_ui.label_8.text()))   kfcmain.main_ui.tableWidget.setItem(row_count, 1, QTableWidgetItem("×" + str(self.bt3)))   kfcmain.main_ui.tableWidget.setItem(row_count, 2, QTableWidgetItem(str(self.num_fries)))  if '乌龙茶'in name:  kfcmain.main_ui.tableWidget.setItem(name.index('乌龙茶'), 1, QTableWidgetItem("×" + str(self.bt4)))  kfcmain.main_ui.tableWidget.setItem(name.index('乌龙茶'), 2, QTableWidgetItem(str(self.num_tea)))  if '乌龙茶' not in name:  if self.bt4 != 0:   row_count = kfcmain.main_ui.tableWidget.rowCount()   kfcmain.main_ui.tableWidget.insertRow(row_count)   kfcmain.main_ui.tableWidget.setItem(row_count, 0, QTableWidgetItem(normal.normal_ui.label_11.text()))   kfcmain.main_ui.tableWidget.setItem(row_count, 1, QTableWidgetItem("×" + str(self.bt4)))   kfcmain.main_ui.tableWidget.setItem(row_count, 2, QTableWidgetItem(str(self.num_tea)))  if '原味圣代(草莓酱)' in name:  kfcmain.main_ui.tableWidget.setItem(name.index('原味圣代(草莓酱)'), 1, QTableWidgetItem("×" + str(self.bt6)))  kfcmain.main_ui.tableWidget.setItem(name.index('原味圣代(草莓酱)'), 2, QTableWidgetItem(str(self.num_ice)))  if '原味圣代(草莓酱)' not in name:  if self.bt6 != 0:   row_count = kfcmain.main_ui.tableWidget.rowCount()   kfcmain.main_ui.tableWidget.insertRow(row_count)   kfcmain.main_ui.tableWidget.setItem(row_count, 0, QTableWidgetItem(normal.normal_ui.label_14.text()))   kfcmain.main_ui.tableWidget.setItem(row_count, 1, QTableWidgetItem("×" + str(self.bt6)))   kfcmain.main_ui.tableWidget.setItem(row_count, 2, QTableWidgetItem(str(self.num_ice))) # 第一次进入该界面 else:  if self.bt1 != 0:  row_count = kfcmain.main_ui.tableWidget.rowCount()  kfcmain.main_ui.tableWidget.insertRow(row_count)  kfcmain.main_ui.tableWidget.setItem(row_count, 0, QTableWidgetItem(normal.normal_ui.label_2.text()))  kfcmain.main_ui.tableWidget.setItem(row_count, 1, QTableWidgetItem("×" + str(self.bt1)))  kfcmain.main_ui.tableWidget.setItem(row_count, 2, QTableWidgetItem(str(self.num_hamburg)))  if self.bt2 != 0:  row_count = kfcmain.main_ui.tableWidget.rowCount()  kfcmain.main_ui.tableWidget.insertRow(row_count)  kfcmain.main_ui.tableWidget.setItem(row_count, 0, QTableWidgetItem(normal.normal_ui.label_5.text()))  kfcmain.main_ui.tableWidget.setItem(row_count, 1, QTableWidgetItem("×" + str(self.bt2)))  kfcmain.main_ui.tableWidget.setItem(row_count, 2, QTableWidgetItem(str(self.num_chicken)))  if self.bt3 != 0:  row_count = kfcmain.main_ui.tableWidget.rowCount()  kfcmain.main_ui.tableWidget.insertRow(row_count)  kfcmain.main_ui.tableWidget.setItem(row_count, 0, QTableWidgetItem(normal.normal_ui.label_8.text()))  kfcmain.main_ui.tableWidget.setItem(row_count, 1, QTableWidgetItem("×" + str(self.bt3)))  kfcmain.main_ui.tableWidget.setItem(row_count, 2, QTableWidgetItem(str(self.num_fries)))  if self.bt4 != 0:  row_count = kfcmain.main_ui.tableWidget.rowCount()  kfcmain.main_ui.tableWidget.insertRow(row_count)  kfcmain.main_ui.tableWidget.setItem(row_count, 0, QTableWidgetItem(normal.normal_ui.label_11.text()))  kfcmain.main_ui.tableWidget.setItem(row_count, 1, QTableWidgetItem("×" + str(self.bt4)))  kfcmain.main_ui.tableWidget.setItem(row_count, 2, QTableWidgetItem(str(self.num_tea)))  if self.bt6 != 0:  row_count = kfcmain.main_ui.tableWidget.rowCount()  kfcmain.main_ui.tableWidget.insertRow(row_count)  kfcmain.main_ui.tableWidget.setItem(row_count, 0, QTableWidgetItem(normal.normal_ui.label_14.text()))  kfcmain.main_ui.tableWidget.setItem(row_count, 1, QTableWidgetItem("×" + str(self.bt6)))  kfcmain.main_ui.tableWidget.setItem(row_count, 2, QTableWidgetItem(str(self.num_ice)))class Package(QWidget): def __init__(self): QWidget.__init__(self) self.package_ui = Ui_Package() self.package_ui.setupUi(self) # 初始化各套餐加入订单按钮点击次数 self.bt1 = 0 self.bt2 = 0 # 初始化返回按钮点击次数 self.bt3 = 0 # 按钮绑定方法 btn_pack1 = self.package_ui.pushButton btn_pack1.clicked.connect(self.order_pack1) btn_pack2 = self.package_ui.pushButton_2 btn_pack2.clicked.connect(self.order_pack2) btn_return = self.package_ui.pushButton_3 btn_return.clicked.connect(self.pac_show) # 显示套餐界面 def pac_order(self): self.package_ui.label_5.setPixmap(QPixmap('./picture/套餐2.png')) self.package_ui.label_5.setScaledContents(True) self.package_ui.label_6.setPixmap(QPixmap('./picture/套餐1.png')) self.package_ui.label_6.setScaledContents(True) # 套餐价格 self.price_pack1 = 89.0 self.price_pack2 = 67.0 self.package_ui.label.setText(str(self.price_pack1)+"元/份") self.package_ui.label_2.setText(str(self.price_pack2)+"元/份") package.show() def order_pack1(self): self.bt1 += 1 def order_pack2(self): self.bt2 += 1 def pac_show(self): self.bt3 += 1 package.hide() self.num_pack1 = self.price_pack1 * self.bt1 self.num_pack2 = self.price_pack2 * self.bt2 if self.bt3 > 1:  for row_index in range(kfcmain.main_ui.tableWidget.rowCount()):  name.append(kfcmain.main_ui.tableWidget.item(row_index, 0).text())  if '翅桶辣堡奥堡套餐' in name:  kfcmain.main_ui.tableWidget.setItem(name.index('翅桶辣堡奥堡套餐'), 1, QTableWidgetItem("×" + str(self.bt1)))  kfcmain.main_ui.tableWidget.setItem(name.index('翅桶辣堡奥堡套餐'), 2, QTableWidgetItem(str(self.num_pack1)))  if '翅桶辣堡奥堡套餐' not in name:  if self.bt1 != 0:   row_count = kfcmain.main_ui.tableWidget.rowCount()   kfcmain.main_ui.tableWidget.insertRow(row_count)   kfcmain.main_ui.tableWidget.setItem(row_count, 0, QTableWidgetItem(package.package_ui.label_3.text()))   kfcmain.main_ui.tableWidget.setItem(row_count, 1, QTableWidgetItem("×" + str(self.bt1)))   kfcmain.main_ui.tableWidget.setItem(row_count, 2, QTableWidgetItem(str(self.num_pack1)))  if '万圣节日劲堡桶' in name:  kfcmain.main_ui.tableWidget.setItem(name.index('万圣节日劲堡桶'), 1, QTableWidgetItem("×" + str(self.bt2)))  kfcmain.main_ui.tableWidget.setItem(name.index('万圣节日劲堡桶'), 2, QTableWidgetItem(str(self.num_pack2)))  if '万圣节日劲堡桶' not in name:  if self.bt2 != 0:   row_count = kfcmain.main_ui.tableWidget.rowCount()   kfcmain.main_ui.tableWidget.insertRow(row_count)   kfcmain.main_ui.tableWidget.setItem(row_count, 0, QTableWidgetItem(package.package_ui.label_4.text()))   kfcmain.main_ui.tableWidget.setItem(row_count, 1, QTableWidgetItem("×" + str(self.bt2)))   kfcmain.main_ui.tableWidget.setItem(row_count, 2, QTableWidgetItem(str(self.num_pack2))) else:  if self.bt1 != 0:  row_count = kfcmain.main_ui.tableWidget.rowCount()  kfcmain.main_ui.tableWidget.insertRow(row_count)  kfcmain.main_ui.tableWidget.setItem(row_count, 0, QTableWidgetItem(package.package_ui.label_3.text()))  kfcmain.main_ui.tableWidget.setItem(row_count, 1, QTableWidgetItem("×" + str(self.bt1)))  kfcmain.main_ui.tableWidget.setItem(row_count, 2, QTableWidgetItem(str(self.num_pack1)))  if self.bt2 != 0:  row_count = kfcmain.main_ui.tableWidget.rowCount()  kfcmain.main_ui.tableWidget.insertRow(row_count)  kfcmain.main_ui.tableWidget.setItem(row_count, 0, QTableWidgetItem(package.package_ui.label_4.text()))  kfcmain.main_ui.tableWidget.setItem(row_count, 1, QTableWidgetItem("×" + str(self.bt2)))  kfcmain.main_ui.tableWidget.setItem(row_count, 2, QTableWidgetItem(str(self.num_pack2)))class Activity(QWidget): def __init__(self): QWidget.__init__(self) self.activity_ui = Ui_Activity() self.activity_ui.setupUi(self) # 初始化各活动加入订单按钮点击次数 self.bt1 = 0 # 初始化返回按钮点击次数 self.bt3 = 0 # 绑定方法 btn_act1 = self.activity_ui.pushButton btn_act1.clicked.connect(self.order_act1) btn_act2 = self.activity_ui.pushButton_2 btn_act2.clicked.connect(self.order_act2) btn_return = self.activity_ui.pushButton_3 btn_return.clicked.connect(self.act_show) def act_order(self): self.activity_ui.label_4.setPixmap(QPixmap('./picture/活动1.png')) self.activity_ui.label_4.setScaledContents(True) self.activity_ui.label_8.setPixmap(QPixmap('./picture/活动2.png')) self.activity_ui.label_8.setScaledContents(True) # 活动价格 self.price_act1 = 29.0 self.price_act2 = 69.0 self.activity_ui.label.setText(str(self.price_act1) + "元/份 原价:"+str(self.price_act1 + 7) + "元/份") self.activity_ui.label_5.setText(str(self.price_act2) + "元/份 原价:"+str(self.price_act2 + 10) + "元/份") activity.show() def order_act1(self): self.bt1 += 1 def order_act2(self): QMessageBox.information(self, "对不起", "活动还没有开始,敬请期待!", QMessageBox.Yes) def act_show(self): self.bt3 += 1 activity.hide() self.num_act1 = self.price_act1 * self.bt1 if self.bt3 > 1:  for row_index in range(kfcmain.main_ui.tableWidget.rowCount()):  name.append(kfcmain.main_ui.tableWidget.item(row_index, 0).text())  if '葡式蛋挞5只' in name:  kfcmain.main_ui.tableWidget.setItem(name.index('葡式蛋挞5只'), 1, QTableWidgetItem("×" + str(self.bt1)))  kfcmain.main_ui.tableWidget.setItem(name.index('葡式蛋挞5只'), 2, QTableWidgetItem(str(self.num_act1)))  if '葡式蛋挞5只' not in name:  if self.bt1 != 0:   row_count = kfcmain.main_ui.tableWidget.rowCount()   kfcmain.main_ui.tableWidget.insertRow(row_count)   kfcmain.main_ui.tableWidget.setItem(row_count, 0, QTableWidgetItem(activity.activity_ui.label_3.text()))   kfcmain.main_ui.tableWidget.setItem(row_count, 1, QTableWidgetItem("×" + str(self.bt1)))   kfcmain.main_ui.tableWidget.setItem(row_count, 2, QTableWidgetItem(str(self.num_act1))) else:  if self.bt1 != 0:  row_count = kfcmain.main_ui.tableWidget.rowCount()  kfcmain.main_ui.tableWidget.insertRow(row_count)  kfcmain.main_ui.tableWidget.setItem(row_count, 0, QTableWidgetItem(activity.activity_ui.label_3.text()))  kfcmain.main_ui.tableWidget.setItem(row_count, 1, QTableWidgetItem("×" + str(self.bt1)))  kfcmain.main_ui.tableWidget.setItem(row_count, 2, QTableWidgetItem(str(self.num_act1)))if __name__=="__main__": app = QApplication(sys.argv) kfcmain = KFC_Main() normal = Normal() package = Package() activity = Activity() # 显示主界面 kfcmain.person() # 绑定按钮 btn_normal = kfcmain.main_ui.pushButton_2 btn_normal.clicked.connect(normal.nor_order) btn_package = kfcmain.main_ui.pushButton_3 btn_package.clicked.connect(package.pac_order) btn_activity = kfcmain.main_ui.pushButton_4 btn_activity.clicked.connect(activity.act_order) # 初始化name列表 name = [] sys.exit(app.exec_())

删除只实现了同餐品在订单上的删除,没有实现数量的减少,可自行添加。

更多学习资料请关注专题《管理系统开发》。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。


  • 上一条:
    python用opencv批量截取图像指定区域的方法
    下一条:
    Python微医挂号网医生数据抓取
  • 昵称:

    邮箱:

    0条评论 (评论内容有缓存机制,请悉知!)
    最新最热
    • 分类目录
    • 人生(杂谈)
    • 技术
    • linux
    • Java
    • php
    • 框架(架构)
    • 前端
    • ThinkPHP
    • 数据库
    • 微信(小程序)
    • Laravel
    • Redis
    • Docker
    • Go
    • swoole
    • Windows
    • Python
    • 苹果(mac/ios)
    • 相关文章
    • 在python语言中Flask框架的学习及简单功能示例(0个评论)
    • 在Python语言中实现GUI全屏倒计时代码示例(0个评论)
    • Python + zipfile库实现zip文件解压自动化脚本示例(0个评论)
    • python爬虫BeautifulSoup快速抓取网站图片(1个评论)
    • vscode 配置 python3开发环境的方法(0个评论)
    • 近期文章
    • 在go中实现一个常用的先进先出的缓存淘汰算法示例代码(0个评论)
    • 在go+gin中使用"github.com/skip2/go-qrcode"实现url转二维码功能(0个评论)
    • 在go语言中使用api.geonames.org接口实现根据国际邮政编码获取地址信息功能(1个评论)
    • 在go语言中使用github.com/signintech/gopdf实现生成pdf分页文件功能(0个评论)
    • gmail发邮件报错:534 5.7.9 Application-specific password required...解决方案(0个评论)
    • 欧盟关于强迫劳动的规定的官方举报渠道及官方举报网站(0个评论)
    • 在go语言中使用github.com/signintech/gopdf实现生成pdf文件功能(0个评论)
    • Laravel从Accel获得5700万美元A轮融资(0个评论)
    • 在go + gin中gorm实现指定搜索/区间搜索分页列表功能接口实例(0个评论)
    • 在go语言中实现IP/CIDR的ip和netmask互转及IP段形式互转及ip是否存在IP/CIDR(0个评论)
    • 近期评论
    • 122 在

      学历:一种延缓就业设计,生活需求下的权衡之选中评论 工作几年后,报名考研了,到现在还没认真学习备考,迷茫中。作为一名北漂互联网打工人..
    • 123 在

      Clash for Windows作者删库跑路了,github已404中评论 按理说只要你在国内,所有的流量进出都在监控范围内,不管你怎么隐藏也没用,想搞你分..
    • 原梓番博客 在

      在Laravel框架中使用模型Model分表最简单的方法中评论 好久好久都没看友情链接申请了,今天刚看,已经添加。..
    • 博主 在

      佛跳墙vpn软件不会用?上不了网?佛跳墙vpn常见问题以及解决办法中评论 @1111老铁这个不行了,可以看看近期评论的其他文章..
    • 1111 在

      佛跳墙vpn软件不会用?上不了网?佛跳墙vpn常见问题以及解决办法中评论 网站不能打开,博主百忙中能否发个APP下载链接,佛跳墙或极光..
    • 2016-10
    • 2016-11
    • 2018-04
    • 2020-03
    • 2020-04
    • 2020-05
    • 2020-06
    • 2022-01
    • 2023-07
    • 2023-10
    Top

    Copyright·© 2019 侯体宗版权所有· 粤ICP备20027696号 PHP交流群

    侯体宗的博客