Date for Parking price PyQt5 - Printable Version +- Python Forum (https://python-forum.io) +-- Forum: Python Coding (https://python-forum.io/forum-7.html) +--- Forum: General Coding Help (https://python-forum.io/forum-8.html) +--- Thread: Date for Parking price PyQt5 (/thread-2921.html) |
Date for Parking price PyQt5 - vbv - Apr-19-2017 Hi, I'm writing project Parking meter in PyQt5, I tried something like that: # -*- coding: utf-8 -*- # Form implementation generated from reading ui file 'GUI-Design.ui' # # Created by: PyQt5 UI code generator 5.8.2 # # WARNING! All changes made in this file will be lost! from Checkout import * import sys from PyQt5.QtWidgets import QApplication _translate = QtCore.QCoreApplication.translate class DialogGUI(QtWidgets.QDialog): price = int def __init__(self,parent=None): super(DialogGUI,self).__init__(parent) self.setupUi(self) self.dialogCheckout = CheckoutGUI(self) def setupUi(self, Dialog): self.out=CheckoutGUI() Dialog.setObjectName("Dialog") Dialog.resize(600, 500) self.setWindowIcon(QIcon('parkingicon.png')) font = QtGui.QFont() font.setPointSize(10) font.setBold(False) font.setWeight(50) Dialog.setFont(font) Dialog.setFocusPolicy(QtCore.Qt.NoFocus) self.label = QtWidgets.QLabel(Dialog) self.label.setGeometry(QtCore.QRect(90, 40, 411, 31)) font = QtGui.QFont() font.setPointSize(15) self.label.setFont(font) self.label.setObjectName("label") self.label_2 = QtWidgets.QLabel(Dialog) self.label_2.setGeometry(QtCore.QRect(200, 230, 191, 21)) font = QtGui.QFont() font.setPointSize(13) self.label_2.setFont(font) self.label_2.setObjectName("label_2") self.lineEdit = QtWidgets.QLineEdit(Dialog) self.lineEdit.setGeometry(QtCore.QRect(190, 260, 211, 31)) font = QtGui.QFont() font.setPointSize(11) self.lineEdit.setFont(font) self.lineEdit.setMouseTracking(False) self.lineEdit.setText("") self.lineEdit.setDragEnabled(True) self.lineEdit.setObjectName("lineEdit") self.label_3 = QtWidgets.QLabel(Dialog) self.label_3.setGeometry(QtCore.QRect(210, 150, 181, 21)) font = QtGui.QFont() font.setPointSize(13) self.label_3.setFont(font) self.label_3.setObjectName("label_3") self.dateTimeEdit = QtWidgets.QDateTimeEdit(Dialog) self.dateTimeEdit.setGeometry(QtCore.QRect(190, 180, 211, 31)) font = QtGui.QFont() font.setPointSize(11) self.dateTimeEdit.setFont(font) self.dateTimeEdit.setMaximumDate(QtCore.QDate(7999, 12, 29)) self.dateTimeEdit.setMinimumDateTime(QtCore.QDateTime.currentDateTime()) self.dateTimeEdit.setDateTime(QtCore.QDateTime.currentDateTime())#.addSecs(3600)) self.dateTimeEdit.setCalendarPopup(False) self.dateTimeEdit.setObjectName("dateTimeEdit") self.pushButton = QtWidgets.QPushButton(Dialog) self.pushButton.setGeometry(QtCore.QRect(220, 400, 141, 41)) font = QtGui.QFont() font.setPointSize(10) self.pushButton.setFont(font) self.pushButton.setMouseTracking(False) self.pushButton.setDefault(False) self.pushButton.setObjectName("pushButton") self.pushButton.clicked.connect(self.enter) self.label_4 = QtWidgets.QLabel(Dialog) self.label_4.setGeometry(QtCore.QRect(150, 330, 291, 51)) font = QtGui.QFont() font.setPointSize(13) self.label_4.setFont(font) self.label_4.setObjectName("label_4") self.retranslateUi(Dialog) QtCore.QMetaObject.connectSlotsByName(Dialog) def retranslateUi(self, Dialog): self.price=0 Dialog.setWindowTitle(_translate("Dialog", "Parkomat")) currentTime = QtCore.QDateTime.toString(QtCore.QDateTime.currentDateTime(), format("dd.MM.yyyy hh:mm")) self.label.setText(_translate("Dialog", "Aktualna data:\t\t"+currentTime)) self.label_2.setText(_translate("Dialog", "Wprowadź nr. rejestracji")) self.label_3.setText(_translate("Dialog", "Wybierz date oraz czas")) self.pushButton.setText(_translate("Dialog", "Zapłać !")) self.label_4.setText(_translate("Dialog", "Cena do zapłaty: \t"+str(self.price))+"\t zł") def enter(self): numberPlate = self.lineEdit.text() datePlate = self.dateTimeEdit.text() print(numberPlate) print(datePlate) self.cost() self.dialogCheckout.exec_() def cost(self): if self.dateTimeEdit.dateTime().secsTo(QtCore.QDateTime.currentDateTime()) >= -3600: self.price = 2 self.label_4.setText(_translate("Dialog", "Cena do zapłaty: \t" + str(self.price)) + "\t zł") print(self.dateTimeEdit.dateTime().secsTo(QtCore.QDateTime.currentDateTime())) elif self.dateTimeEdit.dateTime().secsTo(QtCore.QDateTime.currentDateTime()) <-3600: self.price += 4 self.label_4.setText(_translate("Dialog", "Cena do zapłaty: \t" + str(self.price)) + "\t zł") print(self.dateTimeEdit.dateTime().secsTo(QtCore.QDateTime.currentDateTime())) elif self.dateTimeEdit.dateTime().secsTo(QtCore.QDateTime.currentDateTime()) <= -86340 and self.dateTimeEdit.dateTime().secsTo(QtCore.QDateTime.currentDateTime()) >= -84460: self.price = 100 self.label_4.setText(_translate("Dialog", "Cena do zapłaty: \t" + str(self.price)) + "\t zł") print(self.dateTimeEdit.dateTime().secsTo(QtCore.QDateTime.currentDateTime()))I must calculate parking price with this rulers: - 1st hour 2 euro - nexts hours 4 euro - 24 hours 100 euro - 48 hours 250 euro - 1 week 1800 euro - 1 month (4 weeks) 7500 euro -Parking 8:00 to 8:01 -price like 1st hour - Parking 8:00-9:01 -price for 2 hours(1rs+next hour) - 25h (24h+1st) -26h(24+next h+1st) -72h(48h+24h) -75h(48h+24h+next h+1st) -8days =(1 week+24h) etc. How can i do it? |