import sys
from PyQt5.uic import loadUi
from PyQt5 import QtWidgets
from PyQt5.QtWidgets import QDialog, QApplication, QWidget
from PyQt5.QtGui import QPixmap
import sqlite3
class WelcomeScreen(QDialog):
def __init__(self):
super(WelcomeScreen, self).__init__()
loadUi("welcomescreen.ui",self)
self.login.clicked.connect(self.gotologin)
self.create.clicked.connect(self.gotocreate)
def gotologin(self):
login = LoginScreen()
widget.addWidget(login)
widget.setCurrentIndex(widget.currentIndex()+1)
def gotocreate(self):
create = CreateAccScreen()
widget.addWidget(create)
widget.setCurrentIndex(widget.currentIndex() + 1)
class LoginScreen(QDialog):
def __init__(self):
super(LoginScreen, self).__init__()
loadUi("login.ui",self)
self.passwordfield.setEchoMode(QtWidgets.QLineEdit.Password)
self.login.clicked.connect(self.loginfunction)
def loginfunction(self):
user = self.emailfield.text()
password = self.passwordfield.text()
if len(user)==0 or len(password)==0:
self.error.setText("Please input all fields.")
else:
conn = sqlite3.connect("shop_data.db")
cur = conn.cursor()
query = 'SELECT password FROM login_info WHERE username =\''+user+"\'"
cur.execute(query)
result_pass = cur.fetchone()[0]
if result_pass == password:
print("Successfully logged in.")
self.error.setText("")
else:
self.error.setText("Invalid username or password")
class CreateAccScreen(QDialog):
def __init__(self):
super(CreateAccScreen, self).__init__()
loadUi("createacc.ui",self)
self.passwordfield.setEchoMode(QtWidgets.QLineEdit.Password)
self.confirmpasswordfield.setEchoMode(QtWidgets.QLineEdit.Password)
self.signup.clicked.connect(self.signupfunction)
def signupfunction(self):
user = self.emailfield.text()
password = self.passwordfield.text()
confirmpassword = self.confirmpasswordfield.text()
if len(user)==0 or len(password)==0 or len(confirmpassword)==0:
self.error.setText("Please fill in all inputs.")
elif password!=confirmpassword:
self.error.setText("Passwords do not match.")
else:
conn = sqlite3.connect("shop_data.db")
cur = conn.cursor()
user_info = [user, password]
cur.execute('INSERT INTO login_info (username, password) VALUES (?,?)', user_info)
conn.commit()
conn.close()
fillprofile = FillProfileScreen()
widget.addWidget(fillprofile)
widget.setCurrentIndex(widget.currentIndex()+1)
class FillProfileScreen(QDialog):
def __init__(self):
super(FillProfileScreen, self).__init__()
loadUi("fillprofile.ui",self)
self.image.setPixmap(QPixmap('placeholder.png'))
# main
app = QApplication(sys.argv)
welcome = WelcomeScreen()
widget = QtWidgets.QStackedWidget()
widget.addWidget(welcome)
widget.setFixedHeight(800)
widget.setFixedWidth(1200)
widget.show()
try:
sys.exit(app.exec_())
except:
print("Exiting")
from PyQt5 import QtCore, QtGui, QtWidgets
from connect2 import Ui_SecondWindow
class Ui_MainWindow(object):
def open_window(self):
# Open second window
self.window = QtWidgets.QMainWindow()
self.ui = Ui_SecondWindow()
self.ui.setupUi(self.window)
self.window.show()
def clicker(self):
thing = self.lineEdit.text()
# Assign thing to second window label
self.ui.label.setText(thing)
def setupUi(self, MainWindow):
MainWindow.setObjectName("MainWindow")
MainWindow.resize(378, 354)
self.centralwidget = QtWidgets.QWidget(MainWindow)
self.centralwidget.setObjectName("centralwidget")
self.pushButton = QtWidgets.QPushButton(self.centralwidget, clicked = lambda: self.clicker())
self.pushButton.setGeometry(QtCore.QRect(10, 180, 361, 61))
font = QtGui.QFont()
font.setPointSize(16)
self.pushButton.setFont(font)
self.pushButton.setObjectName("pushButton")
self.pushButton_2 = QtWidgets.QPushButton(self.centralwidget, clicked = lambda: self.open_window())
self.pushButton_2.setGeometry(QtCore.QRect(10, 250, 361, 51))
font = QtGui.QFont()
font.setPointSize(16)
self.pushButton_2.setFont(font)
self.pushButton_2.setObjectName("pushButton_2")
self.lineEdit = QtWidgets.QLineEdit(self.centralwidget)
self.lineEdit.setGeometry(QtCore.QRect(10, 10, 361, 161))
font = QtGui.QFont()
font.setPointSize(16)
self.lineEdit.setFont(font)
self.lineEdit.setObjectName("lineEdit")
MainWindow.setCentralWidget(self.centralwidget)
self.menubar = QtWidgets.QMenuBar(MainWindow)
self.menubar.setGeometry(QtCore.QRect(0, 0, 378, 21))
self.menubar.setObjectName("menubar")
MainWindow.setMenuBar(self.menubar)
self.statusbar = QtWidgets.QStatusBar(MainWindow)
self.statusbar.setObjectName("statusbar")
MainWindow.setStatusBar(self.statusbar)
self.retranslateUi(MainWindow)
QtCore.QMetaObject.connectSlotsByName(MainWindow)
def retranslateUi(self, MainWindow):
_translate = QtCore.QCoreApplication.translate
MainWindow.setWindowTitle(_translate("MainWindow", "MainWindow"))
self.pushButton.setText(_translate("MainWindow", "Submit"))
self.pushButton_2.setText(_translate("MainWindow", "Open Window"))
if __name__ == "__main__":
import sys
app = QtWidgets.QApplication(sys.argv)
MainWindow = QtWidgets.QMainWindow()
ui = Ui_MainWindow()
ui.setupUi(MainWindow)
MainWindow.show()
sys.exit(app.exec_())