J
The problem is, you don't explain what you want to do.
From what I understand, you somehow want to visualize the purchase check.If so, here's a possible solution,
based on the continuation of your previous question.I added. class Dialog and method def buy(self)♪
I'm calling you a button.Купить"import sys
from PyQt5 import QtCore, QtGui, QtWidgets
from PyQt5.Qt import *
class Ui_Wind(object):
def setupUi(self, Wind):
Wind.setObjectName("Wind")
Wind.resize(948, 700)
font = QtGui.QFont()
font.setFamily("Agency FB")
font.setPointSize(16)
Wind.setFont(font)
Wind.setAcceptDrops(False)
Wind.setStyleSheet("background-color:rgb(255, 217, 179)")
self.listView = QtWidgets.QListView(Wind)
self.listView.setGeometry(QtCore.QRect(-10, 80, 981, 91))
self.listView.setStyleSheet("background-color: rgb(243, 194, 147)")
self.listView.setObjectName("listView")
self.pushButton = QtWidgets.QPushButton(Wind)
self.pushButton.setGeometry(QtCore.QRect(0, 0, 231, 71))
font = QtGui.QFont()
font.setFamily("Script MT Bold")
font.setPointSize(14)
font.setBold(True)
font.setWeight(75)
self.pushButton.setFont(font)
self.pushButton.setCursor(QtGui.QCursor(QtCore.Qt.PointingHandCursor))
self.pushButton.setWhatsThis("")
self.pushButton.setAccessibleName("")
self.pushButton.setStyleSheet("background-color:\n""")
self.pushButton.setText("Молочная продукция")
icon = QtGui.QIcon()
icon.addPixmap(QtGui.QPixmap("im.png"), QtGui.QIcon.Disabled, QtGui.QIcon.On)
self.pushButton.setIcon(icon)
self.pushButton.setIconSize(QtCore.QSize(230, 200))
self.pushButton.setObjectName("pushButton")
self.listView_2 = QtWidgets.QListView(Wind)
self.listView_2.setGeometry(QtCore.QRect(50, 170, 191, 811))
self.listView_2.setStyleSheet("background-color: rgb(255, 221, 187)")
self.listView_2.setObjectName("listView_2")
self.pushButton_2 = QtWidgets.QPushButton(Wind)
self.pushButton_2.setGeometry(QtCore.QRect(240, 0, 231, 71))
font = QtGui.QFont()
font.setFamily("Script MT Bold")
font.setPointSize(14)
font.setBold(True)
font.setWeight(75)
self.pushButton_2.setFont(font)
self.pushButton_2.setCursor(QtGui.QCursor(QtCore.Qt.PointingHandCursor))
self.pushButton_2.setWhatsThis("")
self.pushButton_2.setAccessibleName("")
self.pushButton_2.setStyleSheet("background-color:\n""")
self.pushButton_2.setText("Мясная продукция")
icon1 = QtGui.QIcon()
icon1.addPixmap(QtGui.QPixmap("мясо2.png"), QtGui.QIcon.Disabled, QtGui.QIcon.On)
self.pushButton_2.setIcon(icon1)
self.pushButton_2.setIconSize(QtCore.QSize(230, 200))
self.pushButton_2.setObjectName("pushButton_2")
self.pushButton_3 = QtWidgets.QPushButton(Wind)
self.pushButton_3.setGeometry(QtCore.QRect(480, 0, 231, 71))
font = QtGui.QFont()
font.setFamily("Script MT Bold")
font.setPointSize(14)
font.setBold(True)
font.setWeight(75)
self.pushButton_3.setFont(font)
self.pushButton_3.setCursor(QtGui.QCursor(QtCore.Qt.PointingHandCursor))
self.pushButton_3.setWhatsThis("")
self.pushButton_3.setAccessibleName("")
self.pushButton_3.setStyleSheet("background-color:\n""")
self.pushButton_3.setText("Хлебобулочные Изделия")
icon2 = QtGui.QIcon()
icon2.addPixmap(QtGui.QPixmap("xlewb.png"), QtGui.QIcon.Disabled, QtGui.QIcon.On)
self.pushButton_3.setIcon(icon2)
self.pushButton_3.setIconSize(QtCore.QSize(230, 200))
self.pushButton_3.setObjectName("pushButton_3")
self.pushButton_4 = QtWidgets.QPushButton(Wind)
self.pushButton_4.setGeometry(QtCore.QRect(720, 0, 231, 71))
font = QtGui.QFont()
font.setFamily("Script MT Bold")
font.setPointSize(14)
font.setBold(True)
font.setWeight(75)
self.pushButton_4.setFont(font)
self.pushButton_4.setCursor(QtGui.QCursor(QtCore.Qt.PointingHandCursor))
self.pushButton_4.setWhatsThis("")
self.pushButton_4.setAccessibleName("")
self.pushButton_4.setStyleSheet("background-color:\n""")
self.pushButton_4.setText("Товары_Для_Дома")
icon3 = QtGui.QIcon()
icon3.addPixmap(QtGui.QPixmap("таврары.png"), QtGui.QIcon.Disabled, QtGui.QIcon.On)
self.pushButton_4.setIcon(icon3)
self.pushButton_4.setIconSize(QtCore.QSize(230, 200))
self.pushButton_4.setObjectName("pushButton_4")
self.listWidget = QtWidgets.QListWidget(Wind)
self.listWidget.setGeometry(QtCore.QRect(90, 190, 321, 421))
self.listWidget.setStyleSheet("background-color: rgb(255, 221, 179)")
self.listWidget.setObjectName("listWidget")
self.listWidget_2 = QtWidgets.QListWidget(Wind)
self.listWidget_2.setGeometry(QtCore.QRect(590, 190, 321, 421))
self.listWidget_2.setStyleSheet("background-color: rgb(255, 221, 179)")
self.listWidget_2.setObjectName("listWidget_2")
self.pushButton_5 = QtWidgets.QPushButton(Wind)
self.pushButton_5.setGeometry(QtCore.QRect(440, 330, 131, 61))
self.pushButton_5.setObjectName("pushButton_5")
self.pushButton_6 = QtWidgets.QPushButton(Wind)
self.pushButton_6.setGeometry(QtCore.QRect(440, 410, 131, 61))
self.pushButton_6.setObjectName("pushButton_6")
self.pushButton_7 = QtWidgets.QPushButton(Wind)
self.pushButton_7.setGeometry(QtCore.QRect(680, 650, 141, 71))
self.pushButton_7.setObjectName("pushButton_7")
self.pushButton_9 = QtWidgets.QPushButton(Wind)
self.pushButton_9.setGeometry(QtCore.QRect(820, 650, 81, 71))
self.pushButton_9.setText("pushButton_9")
icon4 = QtGui.QIcon()
icon4.addPixmap(QtGui.QPixmap("изображение_2021-04-24_223918-removebg-preview.png"), QtGui.QIcon.Disabled, QtGui.QIcon.On)
self.pushButton_9.setIcon(icon4)
self.pushButton_9.setIconSize(QtCore.QSize(100, 100))
self.pushButton_9.setObjectName("pushButton_9")
self.tableWidget = QtWidgets.QTableView(Wind)
self.tableWidget.setGeometry(QtCore.QRect(100, 200, 301, 401))
self.tableWidget.setObjectName("tableWidget")
self.tableWidget1 = QtWidgets.QTableView(Wind)
self.tableWidget1.setGeometry(QtCore.QRect(600, 200, 301, 401))
self.tableWidget1.setObjectName("tableWidget1")
self.retranslateUi(Wind)
QtCore.QMetaObject.connectSlotsByName(Wind)
def retranslateUi(self, Wind):
_translate = QtCore.QCoreApplication.translate
Wind.setWindowTitle(_translate("Wind", "Пампейка"))
self.pushButton_5.setText(_translate("Wind", "Взять"))
self.pushButton_6.setText(_translate("Wind", "Выгрузить"))
self.pushButton_7.setText(_translate("Wind", "Купить"))
+++ vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv
class Dialog(QtWidgets.QDialog):
def init(self, purchased_products, parent=None):
super(Dialog, self).init(parent)
self.parent = parent
self.setStyleSheet("""QDialog, QLabel {
font-size: 12pt; color: blue; background-color: lightcyan; font-weight: bold;}
""")
layout = QtWidgets.QGridLayout(self)
layout.addWidget(QtWidgets.QLabel(f'Ваш чек:'), 0, 0, 1, 2, alignment=QtCore.Qt.AlignCenter)
sum_products = 0
for i, r in enumerate(purchased_products):
lbl_name = QtWidgets.QLabel(f'{r[0]}')
lbl_price = QtWidgets.QLabel(f'{r[1]:.2f}')
layout.addWidget(lbl_name, i+1, 0)
layout.addWidget(lbl_price, i+1, 1, alignment=QtCore.Qt.AlignRight)
sum_products += r[1]
layout.addWidget(QtWidgets.QLabel("Итого:"), i+2, 0)
layout.addWidget(QtWidgets.QLabel(f"{sum_products:.2f}"), i+2, 1, alignment=QtCore.Qt.AlignRight)
layout.addWidget(QtWidgets.QPushButton("Оплатить", clicked=self.onCliked), i+3, 1)
def onCliked(self):
msg = QtWidgets.QMessageBox.information(
None, 'Чек оплачен', 'Спасибо за покупку.')
# и дальше делайте то что вам надо
self.close()
+++ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
class MainWindow(QtWidgets.QMainWindow, Ui_Wind):
def init(self):
super().init()
self.setupUi(self)
self.tableWidget.horizontalHeader().setStretchLastSection(True)
self.tableWidget.horizontalHeader().setSectionResizeMode(QHeaderView.Stretch)
self.tableWidget1.horizontalHeader().setStretchLastSection(True)
self.tableWidget1.horizontalHeader().setSectionResizeMode(QHeaderView.Stretch)
self.pushButton.clicked.connect(self.milk)
self.pushButton_2.clicked.connect(self.mco)
self.pushButton_3.clicked.connect(self.xlebw)
self.pushButton_4.clicked.connect(self.hometov)
self.pushButton_5.clicked.connect(self.add_row)
self.pushButton_6.clicked.connect(self.on_del_record)
self.pushButton_7.clicked.connect(self.buy) # !!! +++ <<<====<
db = QSqlDatabase.addDatabase('QSQLITE')
db.setDatabaseName('Продукты.db')
db.setDatabaseName('products.db')
db.open()
self.pokypki()
+++ vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv
def buy(self):
purchased_products = []
rows = self.tableWidget1.model().rowCount()
for row in range(rows):
name = self.tableWidget1.model().record(row).value(1)
price = self.tableWidget1.model().record(row).value(2)
purchased_products.append([name, price])
self.dialog = Dialog(purchased_products, self)
self.dialog.exec()
+++ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
def milk(self):
self.model = QSqlTableModel(self)
self.model.setTable("dairy") # Молочная_продукция
self.model.select()
self.tableWidget.setModel(self.model)
def mco(self):
self.model = QSqlTableModel(self)
self.model.setTable("meat") # Мясная_продукция
self.model.select()
self.tableWidget.setModel(self.model)
def xlebw(self):
self.model = QSqlTableModel(self)
self.model.setTable("bakery") # Хлебобулочные_Изделия
self.model.select()
self.tableWidget.setModel(self.model)
def hometov(self):
self.model = QSqlTableModel(self)
self.model.setTable("household") # Товары_Для_Дома
self.model.select()
self.tableWidget.setModel(self.model)
def pokypki(self):
self.model_purchases = QSqlTableModel(self)
self.model_purchases.setTable("purchases") # Покупки
self.model_purchases.select()
self.tableWidget1.setModel(self.model_purchases)
def add_row(self):
row = self.tableWidget.currentIndex().row()
if row == -1:
msg = QMessageBox.information(
None, 'Внимание', 'Выберите продукт для покупки.')
return
id = self.model.record(row).value(0)
name = self.model.record(row).value(1)
price = self.model.record(row).value(3)
r = self.model_purchases.record()
r.setValue("id", id)
r.setValue("name", name)
r.setValue("price", price)
self.model_purchases.insertRecord(-1, r)
self.model_purchases.select()
def on_del_record(self):
row = self.tableWidget1.currentIndex().row()
if row == -1:
msg = QMessageBox.information(self, 'Внимание', 'Выберите продукт для выгрузки.')
return
self.model_purchases.removeRow(self.tableWidget1.currentIndex().row())
self.model_purchases.select()
if name == "main":
app = QtWidgets.QApplication(sys.argv)
w = MainWindow()
w.show()
sys.exit(app.exec_())