Как сделать аутентификацию пользователя, используя PyQt5, SQLite3 в Python? - PullRequest
0 голосов
/ 11 марта 2019

Я пытаюсь получить пользовательский ввод для имени пользователя и пароля из пользовательского интерфейса и сравнить его с данными в таблице пользователей в базе данных. Я уже создал отдельные пользовательские интерфейсы через Qt designer и базу данных в SQLite Studio.

Я использую пример, который я нашел в Интернете, чтобы сделать это. Тем не менее, я думаю, что есть некоторые недостающие фрагменты, это код для функции login:

class LoginWindow (QtGui.QMainWindow, login_class):

def __init__(self,parent=None):
    QtGui.QMainWindow.__init__(self, parent)
    self.setupUi(self)
    self.loginbutton.clicked.connect(self.login)
    self.guestbutton.clicked.connect(self.guest)

def login(self):
    LoginUsername = (self.un_line.text())
    LoginPassword = (self.pw_line.text())

    cur.execute ("SELECT * FROM tblUsers WHERE Username=?", (LoginUsername))
    self.Logininfo = cur.fetchone()
    print(self.Logininfo)

    if self.Logininfo is None:
        self.error.setText("Please Enter a valid Username.")
    elif LoginPassword == self.Logininfo[4]:
        self.un_line.setText("")
        self.pw_line.setText("")
        self.hide()
        MyScoreWin.show()
    else:
        self.error.setText("Incorrect Password! Please try again.")

def get_Logininfo(self):
    return self.Logininfo

def guest(self):
    self.Logininfo = ""
    self.hide()
    MyScoreWin.show()

Код на картинке сохраняется в другом файле только для функций, это код в основной программе до сих пор:

import sys, os
from PyQt5 import QtCore, QtGui, uic

login_class = uic.loadUi("FLogin.ui")
scoreboard_class = uic.loadUi("FScoreboard.ui")
charities_class = uic.loadUi("FCharities.ui")
edit_class = uic.loadUi("FEdit.ui")

app = QtGui.QApplication([])
MyLogWin = LoginWindow(None)
MyScoreWin = ScoreboardWindow(None)
MyEditWin = EditWindow(None)
MyCharWin = CharitiesWindow(None)

MyLogWin.show()
app.exec()

Это не похоже на работу. Я посмотрел несколько видео и попытался подключиться к базе данных, но мне просто не удается заставить ее работать.

Как я могу это исправить?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...