Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- from PyQt5 import uic,QtWidgets,QtCore
- from PyQt5.QtCore import QFile, QTextStream,Qt
- from PyQt5.QtGui import *
- from PyQt5.QtWidgets import *
- from datetime import datetime as dt
- from tkinter import messagebox,Tk
- import mysql.connector
- class Ui(QtWidgets.QMainWindow):
- def __init__(self):
- super().__init__()
- uic.loadUi('MainUi.ui', self)
- self.tabWidget.tabBar().setVisible(0)
- self.tabs()
- self.background()
- self.reset_buttons()
- self.pushButton_12.clicked.connect(self.add_item)
- self.pushButton_24.clicked.connect(self.reset_additem)
- self.pushButton_13.clicked.connect(self.search)
- self.pushButton_14.clicked.connect(self.delete)
- self.pushButton_15.clicked.connect(self.reset_edititem)
- self.pushButton_17.clicked.connect(self.search_view)
- self.pushButton_23.clicked.connect(self.add_row)
- self.pushButton_25.clicked.connect(self.delete_row)
- self.pushButton_16.clicked.connect(self.handleAddTab)
- self.tabWidget_4.tabCloseRequested.connect(self.removeTab)
- self.edit_buttons()
- self.toggle_edit(False)
- self.set_theme()
- self.login_datetime()
- self.show()
- self.fields=['Serial','Item Id','Item Name','Half Rate','Full Rate']
- class new_order(Ui):
- def __init__(self):
- super().__init__()
- self.contents = QtWidgets.QWidget(self.tabWidget_4)
- self.layout = QtWidgets.QVBoxLayout(self.contents)
- font = QFont("Segoe UI", 14)
- self.grid = QGridLayout()
- self.l1 = QLabel();self.l1.setFont(font);self.l1.setText("Order Type:")
- self.l4 = QLabel();self.l4.setFont(font);self.l4.setText(str(self.comboBox_4.currentText()))
- self.l2 = QLabel();self.l2.setFont(font);self.l2.setText("Customer Name:")
- self.l5 = QLabel();self.l5.setFont(font);self.l5.setText(self.lineEdit_8.text())
- self.grid.addWidget(self.l1,0,0)
- self.grid.addWidget(self.l2,1,0)
- self.grid.addWidget(self.l4,0,1)
- self.grid.addWidget(self.l5,1,1)
- if(str(self.comboBox_4.currentText())=='Dine In'):
- self.l3 = QLabel();self.l3.setFont(font);self.l3.setText("Table number:")
- self.line = QLineEdit(self);self.line.setFont(font);self.line.setFixedWidth(40)
- self.grid.addWidget(self.l3,3,0)
- self.grid.addWidget(self.line,3,1)
- self.g1 = QGroupBox(self);self.g1.setTitle("Search Item:");self.g1.setFont(font)
- self.grid2 = QGridLayout()
- self.line1 = QLineEdit(self);self.line1.setFont(font);self.line1.setFixedWidth(500)
- self.grid2.addWidget(self.line1,0,0)
- self.b1 = QPushButton('Search', self);self.b1.setFont(font);self.b1.clicked.connect(self.search_view1)
- self.grid2.addWidget(self.b1,0,1)
- self.t1= QTableWidget();self.t1.setColumnCount(4);self.t1.setHorizontalHeaderLabels(['Item ID', 'Item Name', 'Half Price', 'Full Price'])
- self.grid2.addWidget(self.t1,1,0)
- self.g1.setLayout(self.grid2)
- self.grid.addWidget(self.g1,4,0)
- self.g2 = QGroupBox(self);self.g2.setTitle("Order Details:");self.g2.setFont(font)
- self.grid3 = QGridLayout()
- self.t2= QTableWidget();self.t2.setColumnCount(3);self.t2.setHorizontalHeaderLabels(['Item ID','Half Quantity', 'Full Quantity'])
- self.grid3.addWidget(self.t2,0,0)
- self.b2 = QPushButton('+', self);self.b2.setFont(font);
- self.b3 = QPushButton('-', self);self.b3.setFont(font);
- self.grid3.addWidget(self.b2,0,1)
- self.b4 = QPushButton('Order Completed', self);self.b4.setFont(font);
- self.grid3.addWidget(self.b4,1,0)
- self.grid3.addWidget(self.b3,1,1)
- self.g2.setLayout(self.grid3)
- self.grid.addWidget(self.g2,5,0)
- self.layout.addLayout(self.grid)
- self.tabWidget_4.addTab(self.contents, self.lineEdit_8.text())
- def search_view1(self):
- val=self.line1.text()
- sql='select * from `all` where Item_Name like %s'
- mycursor.execute(sql,('%'+val+'%',))
- table=mycursor.fetchall()
- self.t1.setRowCount(0)
- if(len(table)>0):
- for i in range(len(table)):
- rowPosition = self.t1.rowCount()
- self.t1.insertRow(rowPosition)
- self.t1.setItem(rowPosition , 0,QtWidgets.QTableWidgetItem(str(table[i][0])))
- self.t1.setItem(rowPosition , 1,QtWidgets.QTableWidgetItem(str(table[i][1])))
- self.t1.setItem(rowPosition , 2,QtWidgets.QTableWidgetItem(str(table[i][2])))
- self.t1.setItem(rowPosition , 3,QtWidgets.QTableWidgetItem(str(table[i][3])))
- class Login(Ui):
- def __init__(self):
- super().__init__()
- uic.loadUi('login.ui', self)
- self.setWindowFlags(QtCore.Qt.FramelessWindowHint)
- screen_center = lambda widget: QApplication.desktop().screen().rect().center()- widget.rect().center()
- self.move(screen_center(self))
- self.set_theme()
- self.show()
- self.pushButton.clicked.connect(self.check_pass)
- self.pushButton_2.clicked.connect(self.close)
- self.lineEdit_2.setFocus()
- def keyPressEvent(self, event):
- if event.key() == Qt.Key_Return:
- self.check_pass()
- def check_pass(self):
- var1=self.lineEdit_2.text()
- var2=self.lineEdit.text()
- if(var1=='' or var2==''):
- return
- global mydb,mycursor
- c=True
- try:
- mydb = mysql.connector.connect(host="localhost",user=var1,passwd=var2)
- except:
- c=False
- if(c):
- mycursor = mydb.cursor()
- mycursor.execute('create database if not exists restaurant')
- mycursor.execute('use restaurant')
- mycursor.execute('create table if not exists starters(Item_Id VARCHAR(45) PRIMARY KEY,Item_Name VARCHAR(60),Half_Rate INT,Full_Rate INT)')
- mycursor.execute('create table if not exists maincourse(Item_Id VARCHAR(45) PRIMARY KEY,Item_Name VARCHAR(60),Half_Rate INT,Full_Rate INT)')
- mycursor.execute('create table if not exists desserts(Item_Id VARCHAR(45) PRIMARY KEY,Item_Name VARCHAR(60),Half_Rate INT,Full_Rate INT)')
- mycursor.execute('create table if not exists drinks(Item_Id VARCHAR(45) PRIMARY KEY,Item_Name VARCHAR(60),Half_Rate INT,Full_Rate INT)')
- mycursor.execute('create or replace view `all` as select * from starters union select * from maincourse union select * from desserts union select * from drinks')
- self.close()
- self.Main()
- def Main(self):
- self.main=Ui()
- if __name__ == "__main__":
- import sys
- app = QtWidgets.QApplication(sys.argv)
- ui = Login()
- sys.exit(app.exec_())
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement