Я пытаюсь получить пользовательский ввод для имени пользователя и пароля из пользовательского интерфейса и сравнить его с данными в таблице пользователей в базе данных. Я уже создал отдельные пользовательские интерфейсы через 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()
Это не похоже на работу. Я посмотрел несколько видео и попытался подключиться к базе данных, но мне просто не удается заставить ее работать.
Как я могу это исправить?