как добавить данные в таблицу SQL по нажатию кнопки и вывод этой же таблицы в QtWidget
import sqlite3
from PyQt6.QtSql import QSqlDatabase, QSqlTableModel
from PyQt6.QtWidgets import *
from заказ import Ui_Form as Ui_Form3
from завтрак import Ui_Form as Ui_Form4
class Zakaz(QWidget):
def __init__(self, parent=None):
super(Zakaz, self).__init__()
self.parent = parent
self.ui = Ui_Form3()
self.ui.setupUi(self)
#self.sto = self.parent.st # 4 +++
#print(f'self.sto ---> {self.parent.st}')
#self.name_kasir = self.parent.kasir
#print(f'self.name_kasir ---> {self.name_kasir}')
#self.ui.label_6.setText(self.sto)
#self.ui.label_7.setText(self.name_kasir)
self.ui.pushButton.clicked.connect(self.breakfast)
#здесь по идеи хочу подключиться к базе данных и отображать ее
db = QSqlDatabase.addDatabase('QSQLITE')
db.setDatabaseName('restoranDB.db')
#db = sqlite3.connect('restoranDB.db')
db.open()
self.model = QSqlTableModel(self)
self.model.setTable("zakaz")
self.model.select()
self.ui.tableWidget.setModel(self.model)
#db.commit()
#db.close()
def breakfast(self):
self.main_window = Zavtrak()
self.main_window.show()
class Zavtrak(QMainWindow):
def __init__(self):
super().__init__()
self.ui = Ui_Form4()
self.ui.setupUi(self)
self.ui.pushButton.clicked.connect(self.bt_1)
self.ui.pushButton_2.clicked.connect(self.bt_2)
self.ui.pushButton_3.clicked.connect(self.bt_3)
self.ui.pushButton_4.clicked.connect(self.bt_4)
self.ui.pushButton_5.clicked.connect(self.bt_5)
#Здесь хочу добавлять значение в базу данных
def bt_1(self):
Наименование = 'Крок-мадам'
Раздел = Завтрак
Цена = 300р
#Номер заказа планирую брать в поле LineEdit которое пользователь введет сам
db = sqlite3.connect('restoranDB.db')
self.cur = db.cursor()
self.cursor.execute("INSERT INTO zakaz(Наименование, Раздел, Цена, Номер заказа) VALUES ")
def bt_2(self):
zav_2 = 'Омлет'
def bt_3(self):
zav_3 = 'Крем де-паризьен'
def bt_4(self):
zav_4 = 'Гужеры'
def bt_5(self):
zav_5 = 'Яйцо-кокот в горбушке'
if __name__ == "__main__":
app = QApplication([])
window = Zakaz()
window.show()
app.exec()
код для Ui_Form3
from PyQt6 import QtCore, QtGui, QtWidgets
class Ui_Form(object):
def setupUi(self, Form):
Form.setObjectName("Form")
Form.resize(1106, 886)
Form.setStyleSheet("\n"
"background-color: rgb(213, 213, 213);\n"
"")
self.label_3 = QtWidgets.QLabel(parent=Form)
self.label_3.setGeometry(QtCore.QRect(10, 10, 131, 31))
font = QtGui.QFont()
font.setFamily("Palatino Linotype")
font.setPointSize(18)
font.setBold(True)
font.setItalic(True)
font.setWeight(75)
self.label_3.setFont(font)
self.label_3.setObjectName("label_3")
self.pushButton = QtWidgets.QPushButton(parent=Form)
self.pushButton.setGeometry(QtCore.QRect(500, 110, 171, 101))
font = QtGui.QFont()
font.setFamily("Palatino Linotype")
font.setPointSize(18)
font.setBold(True)
font.setItalic(True)
font.setWeight(75)
self.pushButton.setFont(font)
self.pushButton.setStyleSheet("background-color: rgb(193, 193, 193);")
self.pushButton.setObjectName("pushButton")
self.pushButton_2 = QtWidgets.QPushButton(parent=Form)
self.pushButton_2.setGeometry(QtCore.QRect(690, 110, 171, 101))
font = QtGui.QFont()
font.setFamily("Palatino Linotype")
font.setPointSize(18)
font.setBold(True)
font.setItalic(True)
font.setWeight(75)
self.pushButton_2.setFont(font)
self.pushButton_2.setStyleSheet("background-color: rgb(193, 193, 193);")
self.pushButton_2.setObjectName("pushButton_2")
self.pushButton_3 = QtWidgets.QPushButton(parent=Form)
self.pushButton_3.setGeometry(QtCore.QRect(880, 110, 171, 101))
font = QtGui.QFont()
font.setFamily("Palatino Linotype")
font.setPointSize(18)
font.setBold(True)
font.setItalic(True)
font.setWeight(75)
self.pushButton_3.setFont(font)
self.pushButton_3.setStyleSheet("background-color: rgb(193, 193, 193);")
self.pushButton_3.setObjectName("pushButton_3")
self.pushButton_4 = QtWidgets.QPushButton(parent=Form)
self.pushButton_4.setGeometry(QtCore.QRect(500, 230, 171, 101))
font = QtGui.QFont()
font.setFamily("Palatino Linotype")
font.setPointSize(18)
font.setBold(True)
font.setItalic(True)
font.setWeight(75)
self.pushButton_4.setFont(font)
self.pushButton_4.setStyleSheet("background-color: rgb(193, 193, 193);")
self.pushButton_4.setObjectName("pushButton_4")
self.pushButton_5 = QtWidgets.QPushButton(parent=Form)
self.pushButton_5.setGeometry(QtCore.QRect(690, 230, 171, 101))
font = QtGui.QFont()
font.setFamily("Palatino Linotype")
font.setPointSize(18)
font.setBold(True)
font.setItalic(True)
font.setWeight(75)
self.pushButton_5.setFont(font)
self.pushButton_5.setStyleSheet("background-color: rgb(193, 193, 193);")
self.pushButton_5.setObjectName("pushButton_5")
self.pushButton_6 = QtWidgets.QPushButton(parent=Form)
self.pushButton_6.setGeometry(QtCore.QRect(880, 230, 171, 101))
font = QtGui.QFont()
font.setFamily("Palatino Linotype")
font.setPointSize(18)
font.setBold(True)
font.setItalic(True)
font.setWeight(75)
self.pushButton_6.setFont(font)
self.pushButton_6.setStyleSheet("background-color: rgb(193, 193, 193);")
self.pushButton_6.setObjectName("pushButton_6")
self.line = QtWidgets.QFrame(parent=Form)
self.line.setGeometry(QtCore.QRect(471, 100, 16, 771))
self.line.setFrameShape(QtWidgets.QFrame.Shape.VLine)
self.line.setFrameShadow(QtWidgets.QFrame.Shadow.Sunken)
self.line.setObjectName("line")
self.label_4 = QtWidgets.QLabel(parent=Form)
self.label_4.setGeometry(QtCore.QRect(10, 110, 201, 31))
font = QtGui.QFont()
font.setFamily("Palatino Linotype")
font.setPointSize(16)
font.setBold(True)
font.setItalic(True)
font.setWeight(75)
self.label_4.setFont(font)
self.label_4.setObjectName("label_4")
self.line_2 = QtWidgets.QFrame(parent=Form)
self.line_2.setGeometry(QtCore.QRect(0, 90, 1131, 16))
self.line_2.setFrameShape(QtWidgets.QFrame.Shape.HLine)
self.line_2.setFrameShadow(QtWidgets.QFrame.Shadow.Sunken)
self.line_2.setObjectName("line_2")
self.label_5 = QtWidgets.QLabel(parent=Form)
self.label_5.setGeometry(QtCore.QRect(10, 60, 71, 31))
font = QtGui.QFont()
font.setFamily("Palatino Linotype")
font.setPointSize(12)
font.setBold(True)
font.setItalic(True)
font.setWeight(75)
self.label_5.setFont(font)
self.label_5.setObjectName("label_5")
self.tableWidget = QtWidgets.QTableWidget(parent=Form)
self.tableWidget.setGeometry(QtCore.QRect(10, 150, 451, 721))
font = QtGui.QFont()
font.setFamily("Palatino Linotype")
font.setPointSize(14)
font.setBold(True)
font.setItalic(True)
font.setWeight(75)
self.tableWidget.setFont(font)
self.tableWidget.setObjectName("tableWidget")
self.tableWidget.setColumnCount(0)
self.tableWidget.setRowCount(0)
self.label_6 = QtWidgets.QLabel(parent=Form)
self.label_6.setGeometry(QtCore.QRect(120, 10, 131, 31))
font = QtGui.QFont()
font.setFamily("Palatino Linotype")
font.setPointSize(16)
font.setBold(True)
font.setItalic(True)
font.setWeight(75)
self.label_6.setFont(font)
self.label_6.setStyleSheet("background-color: rgb(226, 226, 226);")
self.label_6.setText("")
self.label_6.setObjectName("label_6")
self.label_7 = QtWidgets.QLabel(parent=Form)
self.label_7.setGeometry(QtCore.QRect(80, 60, 571, 31))
font = QtGui.QFont()
font.setFamily("Palatino Linotype")
font.setPointSize(16)
font.setBold(True)
font.setItalic(True)
font.setWeight(75)
self.label_7.setFont(font)
self.label_7.setStyleSheet("background-color: rgb(226, 226, 226);")
self.label_7.setText("")
self.label_7.setObjectName("label_7")
self.pushButton_7 = QtWidgets.QPushButton(parent=Form)
self.pushButton_7.setGeometry(QtCore.QRect(690, 350, 171, 101))
font = QtGui.QFont()
font.setFamily("Palatino Linotype")
font.setPointSize(18)
font.setBold(True)
font.setItalic(True)
font.setWeight(75)
self.pushButton_7.setFont(font)
self.pushButton_7.setStyleSheet("background-color: rgb(193, 193, 193);")
self.pushButton_7.setObjectName("pushButton_7")
self.pushButton_8 = QtWidgets.QPushButton(parent=Form)
self.pushButton_8.setGeometry(QtCore.QRect(500, 350, 171, 101))
font = QtGui.QFont()
font.setFamily("Palatino Linotype")
font.setPointSize(18)
font.setBold(True)
font.setItalic(True)
font.setWeight(75)
self.pushButton_8.setFont(font)
self.pushButton_8.setStyleSheet("background-color: rgb(193, 193, 193);")
self.pushButton_8.setObjectName("pushButton_8")
self.line_3 = QtWidgets.QFrame(parent=Form)
self.line_3.setGeometry(QtCore.QRect(0, 50, 1111, 16))
self.line_3.setFrameShape(QtWidgets.QFrame.Shape.HLine)
self.line_3.setFrameShadow(QtWidgets.QFrame.Shadow.Sunken)
self.line_3.setObjectName("line_3")
self.line_4 = QtWidgets.QFrame(parent=Form)
self.line_4.setGeometry(QtCore.QRect(0, 0, 1161, 16))
self.line_4.setFrameShape(QtWidgets.QFrame.Shape.HLine)
self.line_4.setFrameShadow(QtWidgets.QFrame.Shadow.Sunken)
self.line_4.setObjectName("line_4")
self.lineEdit = QtWidgets.QLineEdit(parent=Form)
self.lineEdit.setGeometry(QtCore.QRect(212, 110, 151, 31))
self.lineEdit.setObjectName("lineEdit")
self.line.raise_()
self.label_3.raise_()
self.pushButton.raise_()
self.pushButton_2.raise_()
self.pushButton_3.raise_()
self.pushButton_4.raise_()
self.pushButton_5.raise_()
self.pushButton_6.raise_()
self.label_4.raise_()
self.line_2.raise_()
self.label_5.raise_()
self.tableWidget.raise_()
self.label_7.raise_()
self.label_6.raise_()
self.pushButton_7.raise_()
self.pushButton_8.raise_()
self.line_3.raise_()
self.line_4.raise_()
self.lineEdit.raise_()
self.retranslateUi(Form)
QtCore.QMetaObject.connectSlotsByName(Form)
def retranslateUi(self, Form):
_translate = QtCore.QCoreApplication.translate
Form.setWindowTitle(_translate("Form", "Form"))
self.label_3.setText(_translate("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_4.setText(_translate("Form", "Состав заказа:"))
self.label_5.setText(_translate("Form", "кассир:"))
self.pushButton_7.setText(_translate("Form", "винная \n"
"карта"))
self.pushButton_8.setText(_translate("Form", "кофе/чай"))
код для Ui_Form4
from PyQt6 import QtCore, QtGui, QtWidgets
class Ui_Form(object):
def setupUi(self, Form):
Form.setObjectName("Form")
Form.resize(555, 366)
Form.setStyleSheet("background-color: rgb(213, 213, 213);")
self.pushButton = QtWidgets.QPushButton(parent=Form)
self.pushButton.setGeometry(QtCore.QRect(10, 50, 171, 101))
font = QtGui.QFont()
font.setFamily("Palatino Linotype")
font.setPointSize(16)
font.setBold(True)
font.setItalic(True)
font.setWeight(75)
self.pushButton.setFont(font)
self.pushButton.setStyleSheet("background-color: rgb(193, 193, 193);")
self.pushButton.setObjectName("pushButton")
self.label_4 = QtWidgets.QLabel(parent=Form)
self.label_4.setGeometry(QtCore.QRect(10, -10, 171, 61))
font = QtGui.QFont()
font.setFamily("Palatino Linotype")
font.setPointSize(20)
font.setBold(True)
font.setItalic(True)
font.setWeight(75)
self.label_4.setFont(font)
self.label_4.setObjectName("label_4")
self.pushButton_2 = QtWidgets.QPushButton(parent=Form)
self.pushButton_2.setGeometry(QtCore.QRect(190, 50, 171, 101))
font = QtGui.QFont()
font.setFamily("Palatino Linotype")
font.setPointSize(16)
font.setBold(True)
font.setItalic(True)
font.setWeight(75)
self.pushButton_2.setFont(font)
self.pushButton_2.setStyleSheet("background-color: rgb(193, 193, 193);")
self.pushButton_2.setObjectName("pushButton_2")
self.pushButton_3 = QtWidgets.QPushButton(parent=Form)
self.pushButton_3.setGeometry(QtCore.QRect(370, 50, 171, 101))
font = QtGui.QFont()
font.setFamily("Palatino Linotype")
font.setPointSize(16)
font.setBold(True)
font.setItalic(True)
font.setWeight(75)
self.pushButton_3.setFont(font)
self.pushButton_3.setStyleSheet("background-color: rgb(193, 193, 193);")
self.pushButton_3.setObjectName("pushButton_3")
self.pushButton_4 = QtWidgets.QPushButton(parent=Form)
self.pushButton_4.setGeometry(QtCore.QRect(10, 170, 171, 101))
font = QtGui.QFont()
font.setFamily("Palatino Linotype")
font.setPointSize(16)
font.setBold(True)
font.setItalic(True)
font.setWeight(75)
self.pushButton_4.setFont(font)
self.pushButton_4.setStyleSheet("background-color: rgb(193, 193, 193);")
self.pushButton_4.setObjectName("pushButton_4")
self.pushButton_5 = QtWidgets.QPushButton(parent=Form)
self.pushButton_5.setGeometry(QtCore.QRect(190, 170, 171, 101))
font = QtGui.QFont()
font.setFamily("Palatino Linotype")
font.setPointSize(16)
font.setBold(True)
font.setItalic(True)
font.setWeight(75)
self.pushButton_5.setFont(font)
self.pushButton_5.setStyleSheet("background-color: rgb(193, 193, 193);")
self.pushButton_5.setObjectName("pushButton_5")
self.retranslateUi(Form)
QtCore.QMetaObject.connectSlotsByName(Form)
def retranslateUi(self, Form):
_translate = QtCore.QCoreApplication.translate
Form.setWindowTitle(_translate("Form", "Завтрак"))
self.pushButton.setText(_translate("Form", "Крок-мадам"))
self.label_4.setText(_translate("Form", "Завтрак"))
self.pushButton_2.setText(_translate("Form", "омлет"))
self.pushButton_3.setText(_translate("Form", "Крем \n"
"де-паризьен"))
self.pushButton_4.setText(_translate("Form", "Гужеры"))
self.pushButton_5.setText(_translate("Form", "Яйцо-кокот\n"
" в горбушке"))
