Загрузка данных
from PyQt6 import QtCore, QtWidgets
class Ui_Form(object):
def setupUi(self, Form):
Form.setObjectName("Form")
Form.resize(500, 500)
self.pushButton = QtWidgets.QPushButton(parent=Form)
self.pushButton.setGeometry(QtCore.QRect(20, 170, 113, 32))
self.pushButton.setObjectName("pushButton")
self.widget = QtWidgets.QWidget(parent=Form)
self.widget.setGeometry(QtCore.QRect(20, 60, 123, 83))
self.widget.setObjectName("widget")
self.verticalLayout = QtWidgets.QVBoxLayout(self.widget)
self.verticalLayout.setContentsMargins(0, 0, 0, 0)
self.verticalLayout.setObjectName("verticalLayout")
self.checkBox = QtWidgets.QCheckBox(parent=self.widget)
self.checkBox.setObjectName("checkBox")
self.verticalLayout.addWidget(self.checkBox)
self.checkBox_2 = QtWidgets.QCheckBox(parent=self.widget)
self.checkBox_2.setObjectName("checkBox_2")
self.verticalLayout.addWidget(self.checkBox_2)
self.checkBox_3 = QtWidgets.QCheckBox(parent=self.widget)
self.checkBox_3.setObjectName("checkBox_3")
self.verticalLayout.addWidget(self.checkBox_3)
self.checkBox_4 = QtWidgets.QCheckBox(parent=self.widget)
self.checkBox_4.setObjectName("checkBox_4")
self.verticalLayout.addWidget(self.checkBox_4)
self.widget1 = QtWidgets.QWidget(parent=Form)
self.widget1.setGeometry(QtCore.QRect(20, 10, 400, 31))
self.widget1.setObjectName("widget1")
self.horizontalLayout = QtWidgets.QHBoxLayout(self.widget1)
self.horizontalLayout.setContentsMargins(0, 0, 0, 0)
self.horizontalLayout.setObjectName("horizontalLayout")
self.label = QtWidgets.QLabel(parent=self.widget1)
self.label.setObjectName("label")
self.horizontalLayout.addWidget(self.label)
self.label_3 = QtWidgets.QLabel(parent=self.widget1)
self.label_3.setObjectName("label_3")
self.horizontalLayout.addWidget(self.label_3)
self.label_2 = QtWidgets.QLabel(parent=self.widget1)
self.label_2.setText("")
self.label_2.setObjectName("label_2")
self.horizontalLayout.addWidget(self.label_2)
self.retranslateUi(Form)
QtCore.QMetaObject.connectSlotsByName(Form)
self.priceSandwich = 170
self.pricePotato = 120
self.priceSauce = 30
self.priceCola = 80
self.checkBox_3.setEnabled(False)
self.checkBox.stateChanged.connect(self.update_order)
self.checkBox_2.stateChanged.connect(self.update_order)
self.checkBox_3.stateChanged.connect(self.update_order)
self.checkBox_4.stateChanged.connect(self.update_order)
self.pushButton.clicked.connect(self.show_result)
self.update_order()
def retranslateUi(self, Form):
_translate = QtCore.QCoreApplication.translate
Form.setWindowTitle(_translate("Form", "Form"))
self.pushButton.setText(_translate("Form", "ОК"))
self.checkBox.setText(_translate("Form", "Cэндвич - 170"))
self.checkBox_2.setText(_translate("Form", "Картошка - 120"))
self.checkBox_3.setText(_translate("Form", "Соус - 30"))
self.checkBox_4.setText(_translate("Form", "Coca-Cola - 80"))
self.label.setText(_translate("Form", "Стоимотсь заказа:"))
self.label_3.setText(_translate("Form", "TextLabel"))
def update_order(self):
if not self.checkBox_2.isChecked():
self.checkBox_3.setChecked(False)
self.checkBox_3.setEnabled(False)
else:
self.checkBox_3.setEnabled(True)
total = 0
if self.checkBox.isChecked():
total += self.priceSandwich
if self.checkBox_2.isChecked():
total += self.pricePotato
if self.checkBox_3.isChecked():
total += self.priceSauce
if self.checkBox_4.isChecked():
total += self.priceCola
all_selected = (
self.checkBox.isChecked() and
self.checkBox_2.isChecked() and
self.checkBox_3.isChecked() and
self.checkBox_4.isChecked()
)
if all_selected:
total -= total * 0.10
self.label_2.setText("Применена скидка 10%")
else:
self.label_2.setText("")
self.label_3.setText(f"{total:.2f} руб.")
def show_result(self):
QtWidgets.QMessageBox.information(
self.pushButton, "Заказ",f"К оплате: {self.label_3.text()}"
)
if __name__ == "__main__":
import sys
app = QtWidgets.QApplication(sys.argv)
Form = QtWidgets.QWidget()
ui = Ui_Form()
ui.setupUi(Form)
Form.show()
sys.exit(app.exec())