Untitled
unknown
python
2 years ago
35 kB
6
Indexable
import ctypes import sys from PyQt5 import QtCore, QtGui, QtWidgets from PyQt5.QtCore import Qt, QCoreApplication from PyQt5.QtGui import QFont from PyQt5.QtWidgets import QApplication, QPushButton, QWidget, QLineEdit, QVBoxLayout, QFormLayout, QLabel, \ QGridLayout, QDesktopWidget, QFrame, QHBoxLayout, \ QSizeGrip, QStackedWidget, QRadioButton, QCheckBox, QComboBox from DBconnect import Connect class LoggedWin(QWidget): # def __init__(self, customerID): customerID = 'C001' def __init__(self): super().__init__() customerID = 'C001' title = 'Taxi booking system' left = 0 top = 0 width = 700 height = 500 self.setWindowTitle(title) self.setGeometry(left, top, width, height) qtRectangle = self.frameGeometry() centerPoint = QDesktopWidget().availableGeometry().center() qtRectangle.moveCenter(centerPoint) self.move(qtRectangle.topLeft()) self.setContentsMargins(0, 0, 0, 0) self.setMinimumSize(680, 430) myappid = 'mycompany.myproduct.subproduct.version' # ICON ON BOTTOM BAR WINdows ctypes.windll.shell32.SetCurrentProcessExplicitAppUserModelID(myappid) self.setWindowIcon(QtGui.QIcon('img\\taxiiii.png')) self.selfLayout = QHBoxLayout(self) self.set_Margins_And_Spac_0(self.selfLayout) # remove title bar self.setWindowFlags(QtCore.Qt.FramelessWindowHint) # set main background transparent self.setAttribute(QtCore.Qt.WA_TranslucentBackground) # QSizeGrip(self.statusFrame) # ----------------------------------BUTTON FRAME ------------------------------------------------------------- # CREATING BUTTON FRAME self.buttonFrame = QFrame(self) self.buttonFrame.setMinimumSize(170, 400) self.buttonFrame.setMaximumSize(170, 16777215) self.buttonFrame.setStyleSheet("background-color:black") self.buttonLayout = QVBoxLayout(self.buttonFrame) self.set_Margins_And_Spac_0(self.buttonLayout) # CREATING BUTTONS IN BUTTON FRAME------------------ # Book TRIP BUTTON self.bookTripFra = QFrame(self.buttonFrame) # Adding Frame to Button Frame self.bookTripBut = QPushButton("Book a trip") # creating pushbutton self.personalizeButtons(self.bookTripBut) # calling function that personailize a button self.bookTripLayout = QGridLayout(self.bookTripFra) # creating a layout for one button frame self.bookTripLayout.setContentsMargins(0, 0, 0, 0) # deleting margins in layout so button can expand for whole frame self.bookTripLayout.setSpacing(0) self.bookTripLayout.addWidget(self.bookTripBut) # adding buutton to layout so it can be visable self.bookTripBut.clicked.connect(lambda: self.book_Trip_Clicked()) # calling function for that button # BOOKED TRIPS BUTTON self.bookedFra = QFrame(self.buttonFrame) self.bookedBut = QPushButton("Booked trip") self.personalizeButtons(self.bookedBut) self.bookedLayout = QGridLayout(self.bookedFra) self.set_Margins_And_Spac_0(self.bookedLayout) self.bookedLayout.addWidget(self.bookedBut) self.bookedBut.clicked.connect(lambda: self.booked_Trip_Clicked()) # PERSONAL INFORMATION BUTTON self.personalInfFra = QFrame(self.buttonFrame) self.personalInfBut = QPushButton("Personal\nInformation") self.personalizeButtons(self.personalInfBut) self.personalInfLayout = QGridLayout(self.personalInfFra) self.set_Margins_And_Spac_0(self.personalInfLayout) self.personalInfLayout.addWidget(self.personalInfBut) self.personalInfBut.clicked.connect(lambda: self.personal_Inf_Clicked()) # LOGOUT BUTTON self.logoutFra = QFrame(self.buttonFrame) self.logoutFra.setMinimumSize(190, 40) self.logoutFra.setMaximumSize(190, 40) self.logoutBut = QPushButton("Logout") self.logoutBut.setFont(QFont('Times', 13)) self.logoutBut.setSizePolicy(QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.MinimumExpanding, QtWidgets.QSizePolicy.MinimumExpanding)) self.logoutBut.setStyleSheet(""" QPushButton { background-color: #202020; color:white; text-align: left; } QPushButton:hover { background-color: red; color: #202020; }""") self.logoutLayout = QGridLayout(self.logoutFra) self.set_Margins_And_Spac_0(self.logoutLayout) self.logoutLayout.addWidget(self.logoutBut) ######### self.basicButtons() # Function that changed color of buttons and adding hover effect self.clickedButton(self.bookTripBut) # ADDING BUTTONS TO FRAME self.buttonLayout.addWidget(self.bookTripFra) self.buttonLayout.addWidget(self.bookedFra) self.buttonLayout.addWidget(self.personalInfFra) self.buttonLayout.addWidget(self.logoutFra) ############################################BUTTON FRAME FINISH########################################### ###########################################RIGHT HAND FRAME########################################### self.rightFrame = QFrame(self) self.rightFrame.setStyleSheet("background-color:white") self.rightLayout = QVBoxLayout(self.rightFrame) self.set_Margins_And_Spac_0(self.rightLayout) # ====================================================Creating title frame self.titleBarFrame = QFrame(self.rightFrame) self.titleBarFrame.setMinimumHeight(30) self.titleBarFrame.setMaximumHeight(30) self.titleBarLayout = QHBoxLayout(self.titleBarFrame) self.set_Margins_And_Spac_0(self.titleBarLayout) # name of app label self.nameFrame = QFrame(self.titleBarFrame) self.nameLbl = QLabel() self.nameLbl.setText("Taxi booking system") self.nameLbl.setFont(QFont('Times', 13)) self.nameLbl.setStyleSheet(""" QLabel { background-color: #202020; color:white;; }""") self.nameLbl.setContentsMargins(0, 0, 0, 0) self.nameLbl.setSizePolicy(QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.MinimumExpanding, QtWidgets.QSizePolicy.MinimumExpanding)) self.nameLbl.setAlignment(Qt.AlignCenter) self.nameLayout = QGridLayout(self.nameFrame) self.set_Margins_And_Spac_0(self.nameLayout) self.nameLayout.addWidget(self.nameLbl) # Minimalize app button---- self.minimalizeFrame = QFrame(self.titleBarFrame) self.minimalizeFrame.setMinimumSize(30, 30) self.minimalizeFrame.setMaximumSize(30, 30) self.minimalizeBut = QPushButton("_") self.minimalizeBut.setFont(QFont('Times', 13)) self.minimalizeBut.setContentsMargins(0, 0, 0, 0) self.minimalizeBut.setSizePolicy(QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.MinimumExpanding, QtWidgets.QSizePolicy.MinimumExpanding)) self.minimalizeBut.setStyleSheet(""" QPushButton { background-color: #202020; color:white;; } QPushButton:hover { background-color: grey; color: #202020; }""") self.minimalizeLayout = QGridLayout(self.minimalizeFrame) self.set_Margins_And_Spac_0(self.minimalizeLayout) self.minimalizeLayout.addWidget(self.minimalizeBut) # action self.minimalizeBut.clicked.connect(self.showMinimized) # maximalize app button----- self.maximalizeFrame = QFrame(self.titleBarFrame) self.maximalizeFrame.setMinimumSize(30, 30) self.maximalizeFrame.setMaximumSize(30, 30) self.maximalizeBut = QPushButton("🡥") self.maximalizeBut.setFont(QFont('Times', 13)) self.maximalizeBut.setContentsMargins(0, 0, 0, 0) self.maximalizeBut.setSizePolicy(QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.MinimumExpanding, QtWidgets.QSizePolicy.MinimumExpanding)) self.maximalizeBut.setStyleSheet(""" QPushButton { background-color: #202020; color:white;; } QPushButton:hover { background-color: grey; color: #202020; }""") self.maximalizeLayout = QGridLayout(self.maximalizeFrame) self.set_Margins_And_Spac_0(self.maximalizeLayout) self.maximalizeLayout.addWidget(self.maximalizeBut) # action self.maximalizeBut.clicked.connect(self.resMaxWin) # close app button---- self.closeFrame = QFrame(self.titleBarFrame) self.closeFrame.setMinimumSize(30, 30) self.closeFrame.setMaximumSize(30, 30) self.closeBut = QPushButton("X") self.closeBut.setFont(QFont('Times', 13)) self.closeBut.setContentsMargins(0, 0, 0, 0) self.closeBut.setSizePolicy(QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.MinimumExpanding, QtWidgets.QSizePolicy.MinimumExpanding)) self.closeBut.setStyleSheet(""" QPushButton { background-color: #202020; color:white;; } QPushButton:hover { background-color: red; color: #202020; }""") self.closeLayout = QGridLayout(self.closeFrame) self.set_Margins_And_Spac_0(self.closeLayout) self.closeLayout.addWidget(self.closeBut) # action self.closeBut.clicked.connect(QCoreApplication.instance().quit) # ADDING content to information frame self.titleBarLayout.addWidget(self.nameFrame) self.titleBarLayout.addWidget(self.minimalizeFrame) self.titleBarLayout.addWidget(self.maximalizeFrame) self.titleBarLayout.addWidget(self.closeFrame) # ====================================================finish title frame # ====================================================Create content frame self.contentFrame = QFrame(self.rightFrame) self.contentLayout = QVBoxLayout(self.contentFrame) self.set_Margins_And_Spac_0(self.contentLayout) self.contentStack = QStackedWidget(self.contentFrame) self.bookTripStack = QFrame() self.bookedStack = QFrame() self.personalInfStack = QFrame() self.bookTripStackUI() self.bookedStackUI() self.personalInfStackUI() self.contentStack.addWidget(self.bookTripStack) self.contentStack.addWidget(self.bookedStack) self.contentStack.addWidget(self.personalInfStack) self.contentLayout.addWidget(self.contentStack) # ====================================================Finish content frame # ====================================================Create bottom bar self.statusFrame = QFrame(self.rightFrame) self.statusFrame.setMinimumHeight(15) self.statusFrame.setMaximumHeight(15) self.statusFrame.setStyleSheet("background-color:grey") self.statusLayout = QHBoxLayout(self.statusFrame) self.set_Margins_And_Spac_0(self.statusLayout) # label in status bar------------ self.bottomFrame = QFrame(self.statusFrame) self.bottomLbl = QLabel() query = f"SELECT `CFName`, `CSName` FROM `customer` WHERE `CustomerID` = '{customerID}';" forenameAndSurname = Connect.select_DB(query) self.bottomLbl.setText(f"Hello {forenameAndSurname[0][0].capitalize()} {forenameAndSurname[0][1].capitalize()}") self.bottomLbl.setFont(QFont('Times', 12)) self.bottomLbl.setStyleSheet(""" QLabel { background-color: grey; color:white;; }""") self.bottomLbl.setContentsMargins(0, 0, 0, 0) self.bottomLbl.setSizePolicy(QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.MinimumExpanding, QtWidgets.QSizePolicy.MinimumExpanding)) self.bottomLbl.setAlignment(Qt.AlignCenter) self.bottomLayout = QGridLayout(self.bottomFrame) self.set_Margins_And_Spac_0(self.bottomLayout) self.bottomLayout.addWidget(self.bottomLbl) # SIZE GRIP---------------------- self.sizeFrame = QFrame(self.statusFrame) self.sizeFrame.setMinimumSize(5, 5) self.sizeFrame.setMaximumSize(5, 5) self.sizeFrame.setStyleSheet("background-color:black") self.sizeGrip = QSizeGrip(self.sizeFrame) self.sizeGrip.setContentsMargins(0, 0, 0, 0) self.sizeGrip.setSizePolicy(QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.MinimumExpanding, QtWidgets.QSizePolicy.MinimumExpanding)) self.sizeLayout = QHBoxLayout(self.sizeFrame) self.set_Margins_And_Spac_0(self.sizeLayout) self.sizeLayout.addWidget(self.sizeGrip) # Adding content to status bar self.statusLayout.addWidget(self.bottomFrame, alignment=QtCore.Qt.AlignLeft) self.statusLayout.addWidget(self.sizeFrame, alignment=QtCore.Qt.AlignRight | QtCore.Qt.AlignBottom) # ====================================================finish bottom bar # Adding content to right frame self.rightLayout.addWidget(self.titleBarFrame) self.rightLayout.addWidget(self.contentFrame) self.rightLayout.addWidget(self.statusFrame) #############################################RIGHT HAND FRAME FINISH ########################################### # ADDING FRAME WITH BUTTONS AND right hand FRAME TO WINDOW self.selfLayout.addWidget(self.buttonFrame) self.selfLayout.addWidget(self.rightFrame) # MOVE WINDOW ------------------- def moveWindow(e): if self.isMaximized() == False: if e.buttons() == Qt.LeftButton: self.move(self.pos() + e.globalPos() - self.clickPosition) self.clickPosition = e.globalPos() e.accept() self.titleBarFrame.mouseMoveEvent = moveWindow def book_Trip_Clicked(self): self.basicButtons() self.clickedButton(self.bookTripBut) self.display(0) def set_Margins_And_Spac_0(self,layout): layout.setContentsMargins(0, 0, 0, 0) layout.setSpacing(0) def booked_Trip_Clicked(self): self.basicButtons() self.clickedButton(self.bookedBut) self.display(1) def personal_Inf_Clicked(self): self.basicButtons() self.clickedButton(self.personalInfBut) self.display(2) def display(self, i): self.contentStack.setCurrentIndex(i) # -------RESTORE MAXIMALIZE WINDOW FUNCTION def resMaxWin(self): if self.isMaximized(): self.showNormal() self.maximalizeBut.setText("🡥") else: self.showMaximized() self.maximalizeBut.setText("🡧") # ------ MOUSE POSITION def mousePressEvent(self, event): self.clickPosition = event.globalPos() def basicButtons(self): self.bookedBut.setStyleSheet(""" QPushButton { background-color: #202020; color:white; text-align: left; border: none; } QPushButton:hover { background-color: white; color: #202020; text-align: left; border: none; } QPushButton:pressed { border: none; text-align: left; }""") self.bookTripBut.setStyleSheet(""" QPushButton { background-color: #202020; color:white; text-align: left; border: none; } QPushButton:hover { background-color: white; text-align: left; color: #202020; border: none; } QPushButton:pressed { text-align: left; border: none; }""") self.personalInfBut.setStyleSheet(""" QPushButton { background-color: #202020; color:white; text-align: left; border: none; } QPushButton:hover { background-color: white; color: #202020; border: none; } QPushButton:pressed { border: none; }""") def clickedButton(self, button): button.setStyleSheet(""" QPushButton { background-color: white; color:black; text-align: left; border: none; } """) def personalizeButtons(self, button): button.setFont(QFont('Times', 15)) button.setContentsMargins(0, 0, 0, 0) button.setSizePolicy(QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.MinimumExpanding, QtWidgets.QSizePolicy.MinimumExpanding)) #Book Trip Stack def bookTripStackUI(self): layout = QHBoxLayout(self.bookTripStack) self.set_Margins_And_Spac_0(layout) leftFrame = QFrame(self.bookTripStack) leftFrame.setMinimumWidth(360) leftLayout = QVBoxLayout(leftFrame) self.set_Margins_And_Spac_0(leftLayout) # IN FRAME #now later Frame nowLaterFrame = QFrame(leftFrame) topLayout = QHBoxLayout(nowLaterFrame) nowLaterFrame.setMinimumHeight(50) nowLaterFrame.setMaximumHeight(50) self.nowRadio = QRadioButton("now") self.nowRadio.setFont(QFont("times", 16)) self.laterRadio = QRadioButton("later") self.laterRadio.setFont(QFont("times", 16)) self.laterRadio.setChecked(True) whenLabel = QLabel("When:") whenLabel.setFont(QFont("Times", 16)) topLayout.addWidget(whenLabel) topLayout.addWidget(self.nowRadio) topLayout.addWidget(self.laterRadio) #from to Frame fromToFrame = QFrame(leftFrame) fromToLayout = QGridLayout(fromToFrame) self.streetFromLine = QLineEdit() self.streetFromLine.setStyleSheet("QLineEdit {border: 3px solid black;}") self.postCodeFrom = QLineEdit() self.postCodeFrom.setStyleSheet("QLineEdit {border: 3px solid black;}") self.streetToLine = QLineEdit() self.streetToLine.setStyleSheet("QLineEdit {border: 3px solid black;}") self.postCodeFrom.setFixedWidth(70) self.postCodeTo = QLineEdit() self.postCodeTo.setStyleSheet("QLineEdit {border: 3px solid black;}") self.postCodeTo.setFixedWidth(70) fromLbl = QLabel("from") fromLbl.setFont(QFont("Times", 16)) fromToLayout.addWidget(fromLbl, 0, 0, 1, 2, QtCore.Qt.AlignCenter) fromFrame = QFrame(fromToFrame) fromLayout = QHBoxLayout(fromFrame) fromLayout.addWidget(QLabel("street &\nhouse number:")) fromLayout.addWidget(self.streetFromLine) fromLayout.addWidget(QLabel("post code:")) fromLayout.addWidget(self.postCodeFrom) fromToLayout.addWidget(fromFrame, 1, 0, 1, 3, QtCore.Qt.AlignLeft) toLabel = QLabel("to") toLabel.setFont(QFont("Times", 16)) fromToLayout.addWidget(toLabel, 2, 0, 1, 2, QtCore.Qt.AlignCenter) toFrame = QFrame(fromToFrame) toLayout = QHBoxLayout(toFrame) toLayout.addWidget(QLabel("street &\nhouse number:")) toLayout.addWidget(self.streetToLine) toLayout.addWidget(QLabel("post code:")) toLayout.addWidget(self.postCodeTo) fromToLayout.addWidget(toFrame, 3, 0, 1, 3, QtCore.Qt.AlignLeft) #when frame whenFrame = QFrame(leftFrame) whenLayout = QGridLayout(whenFrame) self.dateEdit = QtWidgets.QDateEdit(calendarPopup=True) self.dateEdit.setStyleSheet(""" QDateEdit{ border : 3px solid black; background : white; } QDateEdit::up-arrow{ border : 2px solid black; background-color : lightgreen; } QDateEdit::down-arrow{ border : 2px solid black; background-color : green; }""") self.dateEdit.setDateTime(QtCore.QDateTime.currentDateTime()) self.hoursComboBox = QComboBox() self.hoursComboBox.setStyleSheet("QComboBox {border: 3px solid black;}") self.hoursComboBox.setFixedWidth(50) hours = [] self.minutesComboBox = QComboBox() self.minutesComboBox.setStyleSheet("QComboBox {border: 3px solid black;}") self.minutesComboBox.setFixedWidth(50) minutes = [] for i in range(24): hours.append(str(i)) for i in range(0, 60, 5): minutes.append(str(i)) self.searchButton = QPushButton("Search") self.searchButton.setStyleSheet("QPushButton {background: grey;}") self.afterSearchLabel = QLabel("") self.afterSearchLabel.setStyleSheet("QLabel{ color: red}") self.hoursComboBox.addItems(hours) self.minutesComboBox.addItems(minutes) self.selectTime = QLabel("Select time: ") self.selectDate = QLabel("Select Date: ") selectTimeFrame = QFrame(whenFrame) selectTimeLayout = QHBoxLayout(selectTimeFrame) selectTimeLayout.addWidget(self.selectTime, QtCore.Qt.AlignRight) selectTimeLayout.addWidget(self.hoursComboBox) selectTimeLayout.addWidget(self.minutesComboBox) selectDateFrame = QFrame(whenFrame) selectDateLayout = QHBoxLayout(selectDateFrame) selectDateLayout.addWidget(self.selectDate) selectDateLayout.addWidget(self.dateEdit) whenLayout.addWidget(selectTimeFrame, 0, 0, 1, 3, QtCore.Qt.AlignLeft) whenLayout.addWidget(selectDateFrame, 1, 0, 1, 2, QtCore.Qt.AlignLeft) whenLayout.addWidget(self.searchButton, 1, 2, 1, 1, QtCore.Qt.AlignRight) whenLayout.addWidget(self.afterSearchLabel, 2, 1, 1, 2, QtCore.Qt.AlignRight) leftLayout.addWidget(nowLaterFrame) leftLayout.addWidget(fromToFrame) leftLayout.addWidget(whenFrame) self.nowRadio.clicked.connect(self.now_radio_selected) self.laterRadio.clicked.connect(self.later_radio_selected) self.searchButton.clicked.connect(lambda: self.on_click_search(self.laterRadio.isChecked())) #######################RIGHT BOOK TRIP rightFrame = QFrame(self.bookTripStack) rightFrame.setMaximumWidth(150) rightFrame.setMinimumWidth(150) rightLayout = QVBoxLayout(rightFrame) self.set_Margins_And_Spac_0(rightLayout) #BUTTONS and label #choose car chooseCarFrame = QFrame(rightFrame) chooseCarFrame.setMaximumHeight(40) chooseCarFrame.setMinimumHeight(40) chooseCarLabel = QLabel("Choose car:") chooseCarLabel.setAlignment(Qt.AlignCenter) chooseCarLabel.setStyleSheet(""" QLabel { background: black; color: white; }""") chooseCarLayout = QGridLayout(chooseCarFrame) self.set_Margins_And_Spac_0(chooseCarLayout) chooseCarLayout.addWidget(chooseCarLabel) #economic economicFrame = QFrame(rightFrame) self.economicButton = QPushButton("ECONOMIC") self.personalizeButtons(self.economicButton) self.economicButton.setStyleSheet("QPushButton {background: grey}") economicLayout = QGridLayout(economicFrame) self.set_Margins_And_Spac_0(economicLayout) economicLayout.addWidget(self.economicButton) #family familyFrame = QFrame(rightFrame) self.familyButton = QPushButton("FAMILY \n (7 seats)") self.personalizeButtons(self.familyButton) self.familyButton.setStyleSheet("QPushButton {background: grey}") familyLayout = QGridLayout(familyFrame) self.set_Margins_And_Spac_0(familyLayout) familyLayout.addWidget(self.familyButton) #premium premiumFrame = QFrame(rightFrame) self.premiumButton = QPushButton("Premium") self.personalizeButtons(self.premiumButton) self.premiumButton.setStyleSheet("QPushButton {background: grey}") premiumLayout = QGridLayout(premiumFrame) self.set_Margins_And_Spac_0(premiumLayout) premiumLayout.addWidget(self.premiumButton) self.car_button_enableFalse() #############ADDING TO RIGHT FRAME rightLayout.addWidget(chooseCarFrame) rightLayout.addWidget(economicFrame) rightLayout.addWidget(familyFrame) rightLayout.addWidget(premiumFrame) layout.addWidget(leftFrame) layout.addWidget(rightFrame) #NOW Radiobutton def now_radio_selected(self): if self.nowRadio.isChecked(): self.car_button_enableFalse() self.minutesComboBox.hide() self.hoursComboBox.hide() self.dateEdit.hide() self.selectTime.hide() self.selectDate.hide() #LEter radiobutton def later_radio_selected(self): if self.laterRadio.isChecked(): self.car_button_enableFalse() self.minutesComboBox.show() self.hoursComboBox.show() self.dateEdit.show() self.selectTime.show() self.selectDate.show() #Search button def on_click_search(self, check): if check: self.car_button_enableFalse() date = self.dateEdit.date().toPyDate() hours = str(self.hoursComboBox.currentText()) minutes = str(self.minutesComboBox.currentText()) self.carEconomic = [] self.carFamily = [] self.carPremium = [] query = f""" select carType, carPlate, carMake from car WHERE driverID in ( SELECT driverID FROM driver WHERE dStatus = 'active' AND driverId NOT IN (SELECT DISTINCT `driverID` FROM trip WHERE (trip.tpickUpDate = '{date}') AND (trip.tpickUpHour BETWEEN SubTime ('{hours}:{minutes}:00', '00:29:59') AND AddTime('{hours}:{minutes}:00', '00:30:00')) AND (trip.tBookingStatus = 'approved' OR trip.tBookingStatus = 'active')))""" else: query =f""" select carType, carPlate, carMake from car WHERE driverID in ( SELECT driverID FROM driver WHERE dStatus = 'active' AND driverId NOT IN (SELECT DISTINCT `driverID` FROM trip WHERE (trip.tpickUpDate = current_timestamp) AND (trip.tpickUpHour BETWEEN SubTime (current_timestamp, '00:29:59') AND AddTime(current_timestamp, '00:30:00')) AND (trip.tBookingStatus = 'approved' OR trip.tBookingStatus = 'active')))""" carType = Connect.select_DB(query) print (carType) for i in carType: print(i) if 'family' in i: self.familyButton.setEnabled(True) self.carFamily.append((i[1], i[2])) if 'premium' in i: self.premiumButton.setEnabled(True) self.carPremium.append((i[1], i[2])) if 'economic' in i: self.economicButton.setEnabled(True) print(i[1], i[2]) self.carEconomic.append("ssss") print(self.carEconomic) print(self.carPremium) #economic button def on_click_economicButton(self, check): if check: query = f""" select carPlate, carType from car WHERE carType = 'economic' AND driverID in ( SELECT driverID FROM driver WHERE dStatus = 'active' AND driverId NOT IN (SELECT DISTINCT `driverID` FROM trip WHERE (trip.tpickUpDate = '{self.date}') AND (trip.tpickUpHour BETWEEN SubTime ('{self.hours}:{self.minutes}:00', '00:29:59') AND AddTime('{self.hours}:{self.minutes}:00', '00:30:00')) AND (trip.tBookingStatus = 'approved' OR trip.tBookingStatus = 'active'))) """ else: query =f""" select carPlate, carType from car WHERE carType = 'economic' AND driverID in ( SELECT driverID FROM driver WHERE dStatus = 'active' AND driverId NOT IN (SELECT DISTINCT `driverID` FROM trip WHERE (trip.tpickUpDate = current_timestamp) AND (trip.tpickUpHour BETWEEN SubTime (current_timestamp, '00:29:59') AND AddTime(current_timestamp, '00:30:00')) AND (trip.tBookingStatus = 'approved' OR trip.tBookingStatus = 'active'))) """ def bookedStackUI(self): layout = QFormLayout() sex = QHBoxLayout() sex.addWidget(QRadioButton("Male")) sex.addWidget(QRadioButton("Female")) layout.addRow(QLabel("Sex"), sex) guzik = QPushButton("Guzik") layout.addRow(guzik) self.datas = QLineEdit() layout.addRow("data", self.datas) self.bookedStack.setStyleSheet("background-color:blue") self.bookedStack.setLayout(layout) def personalInfStackUI(self): layout = QHBoxLayout() layout.addWidget(QLabel("subjects")) layout.addWidget(QCheckBox("Physics")) layout.addWidget(QCheckBox("Maths")) self.personalInfStack.setStyleSheet("background-color:green") self.personalInfStack.setLayout(layout) def car_button_enableFalse(self): self.familyButton.setEnabled(False) self.economicButton.setEnabled(False) self.premiumButton.setEnabled(False) if __name__ == '__main__': app = QApplication(sys.argv) ex = LoggedWin() ex.show() sys.exit(app.exec_())
Editor is loading...