Untitled
unknown
python
3 years ago
5.3 kB
9
Indexable
import sys
from PyQt5.QtWidgets import QMainWindow, QApplication, QPushButton, QWidget, QAction, QLineEdit, QTabWidget, \
QVBoxLayout, QFormLayout, QLabel, QGridLayout, QComboBox, QDesktopWidget
from PyQt5.QtGui import QIcon
from PyQt5.QtCore import pyqtSlot
class App(QMainWindow):
def __init__(self):
super().__init__()
self.title = 'TAXI'
self.left = 0
self.top = 0
self.width = 300
self.height = 200
self.setWindowTitle(self.title)
self.setGeometry(self.left, self.top, self.width, self.height)
qtRectangle = self.frameGeometry()
centerPoint = QDesktopWidget().availableGeometry().center()
print(qtRectangle)
print(centerPoint)
qtRectangle.moveCenter(centerPoint)
self.move(qtRectangle.topLeft())
self.table_widget = MyTableWidget(self)
self.setCentralWidget(self.table_widget)
self.show()
class MyTableWidget(QWidget):
def __init__(self, parent):
super(QWidget, self).__init__(parent)
self.layout = QGridLayout(self)
# Initialize tab screen
self.tabs = QTabWidget()
self.logTab = QWidget()
self.regTab = QWidget()
self.tabs.resize(300, 200)
# Add tabs
self.tabs.addTab(self.logTab, "Login")
self.tabs.addTab(self.regTab, "Registration")
# CREATE LOGIN TAB--------------------------------------------
# Layout
self.logFormLayout = QFormLayout(self)
self.logTab.setLayout(self.logFormLayout)
# Email ROW
self.lEmaLbl = QLabel("Email: ")
self.lEmaTxt = QLineEdit(self)
self.lEmaTxt.setPlaceholderText("E-mail")
self.logFormLayout.addRow(self.lEmaLbl, self.lEmaTxt)
# Password Row
self.lPasLbl = QLabel("Password: ")
self.lPasTxt = QLineEdit(self.logTab)
self.lPasTxt.setInputMask("")
self.lPasTxt.setEchoMode(QLineEdit.Password)
self.lPasTxt.setReadOnly(False)
self.lPasTxt.setClearButtonEnabled(False)
self.lPasTxt.setPlaceholderText("Password")
self.logFormLayout.addRow(self.lPasLbl, self.lPasTxt)
# Combo Box Row
self.lWhoLog = QLabel("Who login: ")
self.lwhoComBox = QComboBox(self)
self.lwhoComBox.addItem("Customer")
self.lwhoComBox.addItem("Driver")
self.lwhoComBox.addItem("Administrator")
self.logFormLayout.addRow(self.lWhoLog, self.lwhoComBox)
# Login button Row
self.LoginButton = QPushButton("Login")
self.logFormLayout.addRow(self.LoginButton)
# CREATE REGISTRATION TAB-------------------------------------------
# Layout
self.regFormLayout = QFormLayout(self)
self.regTab.setLayout(self.regFormLayout)
# Forename Row
self.rForLbl = QLabel("Forename: ")
self.rForTxt = QLineEdit(self)
self.rForTxt.setPlaceholderText("Forename")
self.regFormLayout.addRow(self.rForLbl, self.rForTxt)
# Surname Row
self.rSurLbl = QLabel("Surname: ")
self.rSurTxt = QLineEdit(self)
self.rSurTxt.setPlaceholderText("Surname")
self.regFormLayout.addRow(self.rSurLbl, self.rSurTxt)
# Email Row
self.rEmaLbl = QLabel("Email: ")
self.rEmaTxt = QLineEdit(self)
self.rEmaTxt.setPlaceholderText("E-mail address")
self.regFormLayout.addRow(self.rEmaLbl, self.rEmaTxt)
# Password Row
self.rPasLbl = QLabel("Password: ")
self.rPasTxt = QLineEdit(self.logTab)
self.rPasTxt.setInputMask("")
self.rPasTxt.setEchoMode(QLineEdit.Password)
self.rPasTxt.setReadOnly(False)
self.rPasTxt.setClearButtonEnabled(False)
self.rPasTxt.setPlaceholderText("Password")
self.regFormLayout.addRow(self.rPasLbl, self.rPasTxt)
# Confirm Password Row
self.rConPasLbl = QLabel("Confirm password: ")
self.rConPasTxt = QLineEdit(self.logTab)
self.rConPasTxt.setInputMask("")
self.rConPasTxt.setEchoMode(QLineEdit.Password)
self.rConPasTxt.setReadOnly(False)
self.rConPasTxt.setClearButtonEnabled(False)
self.rConPasTxt.setPlaceholderText("Confirm password")
self.regFormLayout.addRow(self.rConPasLbl, self.rConPasTxt)
# Preferred payment Row
self.rPrePay = QLabel("Payment method: ")
self.rPrePayBox = QComboBox(self)
self.rPrePayBox.addItem("Online card")
self.rPrePayBox.addItem("Card in car")
self.rPrePayBox.addItem("Cash in car")
self.regFormLayout.addRow(self.rPrePay, self.rPrePayBox)
# Registration button Row
self.RegistrationButton = QPushButton("Registration")
self.regFormLayout.addRow(self.RegistrationButton)
# Add tabs to widget
self.layout.addWidget(self.tabs)
self.setLayout(self.layout)
self.RegistrationButton.clicked.connect(self.on_click)
# @pyqtSlot()
def on_click(self):
print(self.lPasTxt.text())
if __name__ == '__main__':
app = QApplication(sys.argv)
ex = App()
sys.exit(app.exec_())
Editor is loading...