import sqlite3
from PyQt5 import QtWidgets, uic
import sys
from PyQt5.QtWidgets import QApplication, QMainWindow, QDialog, QFileDialog, QMessageBox
from PyQt5.QtSql import QSqlDatabase, QSqlQuery, QSqlTableModel, QSqlQueryModel
import newproject
db = sqlite3.connect('database.db')
cursor = db.cursor()
cursor.execute('''CREATE TABLE IF NOT EXISTS users(
login TEXT,
password TEXT
)''')
db.commit()
for i in cursor.execute('SELECT * FROM users'):
print(i)
db1 = sqlite3.connect('databasepassw.db')
sq = db1.cursor()
cursor.execute('''CREATE TABLE IF NOT EXISTS pass(
platform TEXT,
login TEXT,
password TEXT
)''')
db1.commit()
class Registration(QtWidgets.QMainWindow, newproject.Ui_MainWindow):
def __init__(self):
super(Registration, self).__init__()
self.setupUi(self)
self.label.setText('')
self.label_2.setText('Регистрация')
self.lineEdit.setPlaceholderText('Придумайте логин')
self.lineEdit_2.setPlaceholderText('Придумайте пароль')
self.pushButton.setText('Регистрация')
self.pushButton_2.setText('Вход')
self.setWindowTitle('Войти в систему')
self.pushButton.pressed.connect(self.reg)
self.pushButton_2.pressed.connect(self.login)
def login(self):
self.login = Login()
self.login.show()
self.hide()
def reg(self):
user_login = self.lineEdit.text()
user_password = self.lineEdit_2.text()
if len(user_login) == 0:
return
if len(user_password) == 0:
return
cursor.execute(f'SELECT login FROM users WHERE login="{user_login}"')
if cursor.fetchone() is None:
cursor.execute(f'INSERT INTO users VALUES ("{user_login}", "{user_password}")')
self.label.setText(f'Аккаунт {user_login} успешно зарегистрирован!')
db.commit()
self.hide()
self.Menu = MenuWindow()
self.Menu.show()
else:
self.label.setText('Такая записать уже имеется!')
class Login(QtWidgets.QMainWindow, newproject.Ui_MainWindow):
def __init__(self):
super(Login, self).__init__()
self.setupUi(self)
self.label.setText('')
self.label_2.setText('Вход')
self.lineEdit.setPlaceholderText('Введите логин')
self.lineEdit_2.setPlaceholderText('Введите пароль')
self.pushButton.setText('Вход')
self.pushButton_2.setText('Регистрация')
self.setWindowTitle('Войти в систему')
self.pushButton.pressed.connect(self.login)
self.pushButton_2.pressed.connect(self.reg)
def reg(self):
self.reg = Registration()
self.reg.show()
self.hide()
def login(self):
user_login = self.lineEdit.text()
user_password = self.lineEdit_2.text()
if len(user_login) == 0:
return
if len(user_password) == 0:
return
cursor.execute(f'SELECT password FROM users WHERE login="{user_login}"')
check_pass = cursor.fetchall()
cursor.execute(f'SELECT login FROM users WHERE login="{user_login}"')
check_login = cursor.fetchall()
if check_pass[0][0] == user_password and check_login[0][0] == user_login:
self.label.setText('Успешная авторизация!')
self.Menu = MenuWindow()
self.Menu.show()
self.hide()
else:
self.label.setText('Ошибка авторизации!')
class MenuWindow(QMainWindow):
def __init__(self):
super(MenuWindow, self).__init__()
uic.loadUi('NEW_chosing.ui', self)
self.pushButton_nazad.clicked.connect(self.login)
self.pushButton1.setText("Добавить\n пароль")
self.pushButton1.clicked.connect(self.add_pass)
self.pushButton2.clicked.connect(self.show_pass)
self.setWindowTitle('Выберите действие')
def login(self):
self.login = Login()
self.login.show()
self.hide()
def add_pass(self):
uic.loadUi('choose1.ui', self)
self.pushButton_nazad.clicked.connect(self.menu)
self.setWindowTitle('Добавить пароль')
self.pushButton_dobavit.clicked.connect(self.adding_pass)
def adding_pass(self):
platform = self.lineEdit_platform.text()
login = self.lineEdit_login.text()
password = self.lineEdit_password.text()
if len(platform) == 0:
return
if len(login) == 0:
return
if len(password) == 0:
return
cursor.execute(f'SELECT platform FROM pass WHERE platform="{platform}"')
if cursor.fetchone() is None:
cursor.execute(f'INSERT INTO pass VALUES ("{platform}", "{login}", "{password}")')
self.title_2.setText(f'Аккаунт {platform} успешно зарегистрирован!')
db1.commit()
def show_pass(self):
uic.loadUi('chekingnew1.ui', self)
self.pushButton_nazad.clicked.connect(self.menu)
self.setWindowTitle('Сохраненные пароли')
db = QSqlDatabase.addDatabase('QSQLITE')
db.setDatabaseName('databasepass.db')
db.open()
self.model = QSqlTableModel(self)
self.model.setTable("pass")
self.model.select()
self.tableWidget.setModel(self.model)
def menu(self):
self.menu = MenuWindow()
self.menu.show()
self.hide()
if __name__ == '__main__':
app = QApplication(sys.argv)
log = Login()
log.show()
sys.exit(app.exec_())