PyQt5. Нуждаюсь в простом объяснение

Нужна помощь просто пояснить ситуацию, так как нигде нету информации об этом.

Итак, есть кто-то на уроках, и курсах по PyQt5 где пишут код вручную не используя QT Designer. И у них получается код с __init__ и супер правами super init (скриншот №1):

с уроков по PyQt5

Если же сделать скелет в QT Designer получается следующее (скриншот №2):

с qt designer.

Вопрос 1. В чём разница? Возможно нужно накидывать скелет в Qt Designer, и потом переделывать как на скриншоте1 ? То есть, под форму кода с __init__.

Вопрос 2. Я пытаюсь сделать 2 окна. (условно назовем их окно 1 и окно 2). Я хочу чтобы с окна1 я мог нажать на кнопку, окно1 закрылось, открывшись окно2. И если в окне2 я бы нажал на кнопку, окно2 закрылось и окрылось окно1.

Я сделал импорт класса окна2 в окно1, всё отлично работает. Но как мне сделать такое в окне2, если импортировать класс окна1 - получиться ошибка "цикличный импорт". Возможно я что-то не правильно делаю. И может ли быть проблема в том, что у меня скелет кода не с этим __init__ и супер правами на него ???

Прикрепляю свой пример в котором как раз возникла ошибка и загвоздка:

  • 1) Вообще главный тут файл login.py и запуск должен быть с него. Но я код менял, и сейчас с login.py кнопка перехода на второе окно не работает. Просто запускайте сначало signup.py, перейдете на login.py, а вот как обратно - не понимаю.

  • 2) По самому коду подсказки, и вот с этим init если не сложно. Как перестраивать код с qt designere или как... От пытаюсь разобратся, уже как 2 нидели, но ничего не выходит.

login.py

from PyQt5 import QtCore, QtGui, QtWidgets
from PyQt5.QtWidgets import QMessageBox, QLabel
import sys
from emptywindow import Ui_emptyWindow
from datalog import DataCommands
from signup import Ui_SignupWindow

class StartWindow(object):
    def setupUi(self, MainWindow):

        MainWindow.setObjectName("MainWindow")
        MainWindow.setGeometry(320, 180, 1280, 720)
        MainWindow.setMinimumSize(QtCore.QSize(1280, 720))
        MainWindow.setMaximumSize(QtCore.QSize(1280, 720))

        self.centralwidget = QtWidgets.QWidget(MainWindow)
        self.centralwidget.setObjectName("centralwidget")

        self.labelgamename = QtWidgets.QLabel(self.centralwidget)
        self.labelgamename.setGeometry(QtCore.QRect(310, 100, 691, 141))
        self.labelgamename.setStyleSheet("font: 72pt \"Pixel Times Bold\";")
        self.labelgamename.setObjectName("labelgamename")

        self.labelauthor = QtWidgets.QLabel(self.centralwidget)
        self.labelauthor.setGeometry(QtCore.QRect(680, 230, 371, 71))
        self.labelauthor.setStyleSheet("font: 25pt \"Ink Free\";\n"
                                       "text-decoration: underline;")
        self.labelauthor.setObjectName("labelauthor")

        self.labelLogin = QtWidgets.QLabel(self.centralwidget)
        self.labelLogin.setGeometry(QtCore.QRect(485, 370, 150, 70))
        self.labelLogin.setStyleSheet("font: 63 14pt \"Yu Gothic UI Semibold\";")
        self.labelLogin.setObjectName("labelLogin")

        self.labelPassword = QtWidgets.QLabel(self.centralwidget)
        self.labelPassword.setGeometry(QtCore.QRect(490, 430, 140, 70))
        self.labelPassword.setStyleSheet("font: 63 14pt \"Yu Gothic UI Semibold\";")
        self.labelPassword.setObjectName("labelPassword")

        self.labelLoging = QtWidgets.QLabel(self.centralwidget)
        self.labelLoging.setGeometry(QtCore.QRect(680, 320, 81, 70))
        self.labelLoging.setStyleSheet("font: 63 18pt \"Yu Gothic UI Semibold\";")
        self.labelLoging.setObjectName("labelLoging")

        self.lineLogin = QtWidgets.QLineEdit(self.centralwidget)
        self.lineLogin.setGeometry(QtCore.QRect(610, 390, 220, 40))
        self.lineLogin.setCursorMoveStyle(QtCore.Qt.LogicalMoveStyle)
        self.lineLogin.setClearButtonEnabled(True)
        self.lineLogin.setObjectName("lineLogin")

        self.linePassword = QtWidgets.QLineEdit(self.centralwidget)
        self.linePassword.setGeometry(QtCore.QRect(610, 450, 220, 40))
        self.linePassword.setEchoMode(QtWidgets.QLineEdit.Password)
        self.linePassword.setClearButtonEnabled(True)
        self.linePassword.setObjectName("linePassword")

        self.buttonLogin = QtWidgets.QPushButton(self.centralwidget)
        self.buttonLogin.setGeometry(QtCore.QRect(610, 510, 101, 41))
        self.buttonLogin.setObjectName("buttonLogin")
        self.buttonLogin.clicked.connect(self.access_check)

        self.buttonSignUp = QtWidgets.QPushButton(self.centralwidget)
        self.buttonSignUp.setGeometry(QtCore.QRect(730, 510, 101, 41))
        self.buttonSignUp.setObjectName("buttonSignUp")
        #self.buttonSignUp.clicked.connect(self.)



        MainWindow.setCentralWidget(self.centralwidget)

        self.retranslateUi(MainWindow)
        QtCore.QMetaObject.connectSlotsByName(MainWindow)

    def retranslateUi(self, MainWindow):
        _translate = QtCore.QCoreApplication.translate
        MainWindow.setWindowTitle(_translate("MainWindow", "TaxPark Game"))

        self.labelgamename.setText(_translate("MainWindow", "TaxPark"))
        self.labelauthor.setText(_translate("MainWindow", "by Vitalii Shchudlo"))
        self.labelPassword.setText(_translate("MainWindow", "Password: "))
        self.labelLogin.setText(_translate("MainWindow", "Username:"))
        self.labelLoging.setText(_translate("MainWindowWindow", "Login"))
        self.linePassword.setPlaceholderText(_translate("MainWindow", "Enter your password"))
        self.lineLogin.setPlaceholderText(_translate("MainWindow", "Enter your username"))
        self.buttonLogin.setText(_translate("MainWindow", "Log In"))
        self.buttonSignUp.setText(_translate("MainWindow", "Sign Up"))

    def openWindowTest(self):
        self.window = QtWidgets.QMainWindow()
        self.ui = Ui_emptyWindow()
        self.ui.setupUi(self.window)
        MainWindow.hide()
        self.window.show()

    def access_check(self):
        msg = QMessageBox()
        msg.setGeometry(133, 150, 500, 504)

        user_login = self.lineLogin.text()
        user_pass = self.linePassword.text()

        check = DataCommands(user_login, user_pass)
        if check.access() == True:
            msg.setWindowTitle('Entering...')
            msg.setIcon(QMessageBox.Information)
            msg.setText('You are successfully logged in.')
            msg.exec_()

        else:
            msg.setWindowTitle('Error')
            msg.setIcon(QMessageBox.Critical)
            msg.setText('Incorrect login or password.')
            msg.exec_()


if __name__ == "__main__":
    app = QtWidgets.QApplication(sys.argv)
    MainWindow = QtWidgets.QMainWindow()
    ui = StartWindow()
    ui.setupUi(MainWindow)
    MainWindow.show()
    sys.exit(app.exec_())

signup.py

from PyQt5 import QtCore, QtGui, QtWidgets
import sys

class Ui_SignupWindow(object):
    def setupUi(self, SignupWindow):
        SignupWindow.setObjectName("SignupWindow")
        SignupWindow.setGeometry(320, 180, 1280, 720)
        SignupWindow.setMinimumSize(QtCore.QSize(1280, 720))
        SignupWindow.setMaximumSize(QtCore.QSize(1280, 720))
        self.centralwidget = QtWidgets.QWidget(SignupWindow)
        self.centralwidget.setObjectName("centralwidget")

        self.labelgamename = QtWidgets.QLabel(self.centralwidget)
        self.labelgamename.setGeometry(QtCore.QRect(310, 100, 691, 141))
        self.labelgamename.setStyleSheet("font: 72pt \"Pixel Times Bold\";")
        self.labelgamename.setObjectName("labelgamename")

        self.labelauthor = QtWidgets.QLabel(self.centralwidget)
        self.labelauthor.setGeometry(QtCore.QRect(680, 230, 371, 71))
        self.labelauthor.setStyleSheet("font: 25pt \"Ink Free\";\n"
"text-decoration: underline;")
        self.labelauthor.setObjectName("labelauthor")

        self.linePassword = QtWidgets.QLineEdit(self.centralwidget)
        self.linePassword.setGeometry(QtCore.QRect(610, 450, 220, 40))
        self.linePassword.setEchoMode(QtWidgets.QLineEdit.Password)
        self.linePassword.setClearButtonEnabled(True)
        self.linePassword.setObjectName("linePassword")

        self.labelPassword = QtWidgets.QLabel(self.centralwidget)
        self.labelPassword.setGeometry(QtCore.QRect(490, 430, 111, 70))
        self.labelPassword.setStyleSheet("font: 63 14pt \"Yu Gothic UI Semibold\";")
        self.labelPassword.setObjectName("labelPassword")

        self.lineLogin = QtWidgets.QLineEdit(self.centralwidget)
        self.lineLogin.setGeometry(QtCore.QRect(610, 390, 220, 40))
        self.lineLogin.setClearButtonEnabled(True)
        self.lineLogin.setObjectName("lineLogin")

        self.labelUsername = QtWidgets.QLabel(self.centralwidget)
        self.labelUsername.setGeometry(QtCore.QRect(485, 370, 121, 70))
        self.labelUsername.setStyleSheet("font: 63 14pt \"Yu Gothic UI Semibold\";")
        self.labelUsername.setObjectName("labelUsername")

        self.buttonRegister = QtWidgets.QPushButton(self.centralwidget)
        self.buttonRegister.setGeometry(QtCore.QRect(610, 570, 101, 41))
        self.buttonRegister.setObjectName("buttonRegister")

        self.buttonLogIn = QtWidgets.QPushButton(self.centralwidget)
        self.buttonLogIn.setGeometry(QtCore.QRect(730, 570, 101, 41))
        self.buttonLogIn.setObjectName("buttonLogIn")
        self.buttonLogIn.clicked.connect(self.openWindowLogin)

        self.labelRegistration = QtWidgets.QLabel(self.centralwidget)
        self.labelRegistration.setGeometry(QtCore.QRect(635, 320, 171, 70))
        self.labelRegistration.setStyleSheet("font: 63 18pt \"Yu Gothic UI Semibold\";")
        self.labelRegistration.setObjectName("labelRegistration")

        self.linePassword_2 = QtWidgets.QLineEdit(self.centralwidget)
        self.linePassword_2.setGeometry(QtCore.QRect(610, 510, 220, 40))
        self.linePassword_2.setEchoMode(QtWidgets.QLineEdit.Password)
        self.linePassword_2.setClearButtonEnabled(True)
        self.linePassword_2.setObjectName("linePassword_2")

        self.labelPassword_2 = QtWidgets.QLabel(self.centralwidget)
        self.labelPassword_2.setGeometry(QtCore.QRect(400, 490, 200, 70))
        self.labelPassword_2.setStyleSheet("font: 63 14pt \"Yu Gothic UI Semibold\";")
        self.labelPassword_2.setObjectName("labelPassword_2")

        self.labelProblem2 = QtWidgets.QLabel(self.centralwidget)
        self.labelProblem2.setGeometry(QtCore.QRect(850, 450, 211, 41))
        self.labelProblem2.setStyleSheet("font: 63 10pt \"Yu Gothic UI Semibold\";\n"
"color: rgb(255, 0, 0);\n"
"")
        self.labelProblem2.setText("")
        self.labelProblem2.setObjectName("labelProblem2")

        self.labelProblem1 = QtWidgets.QLabel(self.centralwidget)
        self.labelProblem1.setGeometry(QtCore.QRect(850, 390, 211, 41))
        self.labelProblem1.setStyleSheet("font: 63 10pt \"Yu Gothic UI Semibold\";\n"
"color: rgb(255, 0, 0);\n"
"")
        self.labelProblem1.setText("")
        self.labelProblem1.setObjectName("labelProblem1")

        SignupWindow.setCentralWidget(self.centralwidget)
        self.retranslateUi(SignupWindow)
        QtCore.QMetaObject.connectSlotsByName(SignupWindow)

    def retranslateUi(self, SignupWindow):
        _translate = QtCore.QCoreApplication.translate
        SignupWindow.setWindowTitle(_translate("SignupWindow", "TaxPark Game"))
        self.labelgamename.setText(_translate("SignupWindow", "TaxPark"))
        self.labelauthor.setText(_translate("SignupWindow", "by Vitalii Shchudlo"))
        self.linePassword.setPlaceholderText(_translate("SignupWindow", "Enter your password"))
        self.labelPassword.setText(_translate("SignupWindow", "Password: "))
        self.lineLogin.setPlaceholderText(_translate("SignupWindow", "Enter your username"))
        self.labelUsername.setText(_translate("SignupWindow", "Username:"))
        self.buttonRegister.setText(_translate("SignupWindow", "Register"))
        self.buttonLogIn.setText(_translate("SignupWindow", "Log In"))
        self.labelRegistration.setText(_translate("SignupWindow", "Registration"))
        self.linePassword_2.setPlaceholderText(_translate("SignupWindow", "Confirm your password"))
        self.labelPassword_2.setText(_translate("SignupWindow", "Confirm Password: "))

    def openWindowLogin(self):
        from login import StartWindow
        self.window = QtWidgets.QMainWindow()
        self.ui = StartWindow()
        self.ui.setupUi(self.window)
        SignupWindow.hide()
        self.window.show()

        # self.window = QtWidgets.QMainWindow()
        # self.ui = Ui_SignupWindow()s
        # self.ui.setupUi(self.window)
        # SignupWindow.hide()
        # self.window.show()


if __name__ == "__main__":
    app = QtWidgets.QApplication(sys.argv)
    SignupWindow = QtWidgets.QMainWindow()
    ui = Ui_SignupWindow()
    ui.setupUi(SignupWindow)
    SignupWindow.show()
    sys.exit(app.exec_())

datalog.py

import sqlite3

    class DataCommands:

        def __init__(self, inputed_login, inputed_password):
            self.inputed_login = inputed_login
            self.inputed_password = inputed_password


        def access(self):
            if self.check_data() == True:
                return True
            else:
                return False



        def check_data(self):
            conn = sqlite3.connect('data.db')
            cursor = conn.cursor()

            find_user = ('SELECT * FROM tabletest WHERE login = ? AND password = ?')
            cursor.execute(find_user,[(self.inputed_login), (self.inputed_password)])
            results = cursor.fetchall()
            if results:
                return True
            else:
                return False

Ответы (3 шт):

Автор решения: Adam Arutyunov

По этому куску кода кажется, что в первом случае вы, как обычно, просто создаёте объект окна и внутри его настраиваете. А второй кусок кода — это, как бы вспомогательный класс. Вы передаёте туда свой объект, и он настраивает его.

Как правильно? Не переводить QtDesigner в Python. Вместо этого просто сохраните шаблон как .ui, потом в главном файле импортируйте from PyQt5 import uic, а затем, в __init__, пропишите: uic.loadUi('file.ui', self).

Насчёт второго вопроса: да, в Python-проектах есть большая проблема, связанная с тем, что нужно делать импорты, а когда два объекта, взаимодействующие друг с другом, лежат в разных файлах, это сделать невозможно. Возможно, вам нужно пересмотреть архитектуру проекта и поместить эти классы в один файл.

И третье: вы плохо ориентируетесь в штучках ООП. super() — это не права, а указание на класс родительского объекта (упрощённо). То есть, в вашем случае, super().__init__ указывает на то, что нужно обратиться к методу __init__ класса QDialog, потому что AppWindow наследуется от QDialog.

→ Ссылка
Автор решения: user367654

uic.loadUi Медленный, используйте наследование. Например:

class AppWindow(QDialog, Ui_class):  # 1 родитель - Qt - виджет, 
    #второй - сгенерированный дизайнером класс

    def __init__(self):
        super().__init__() 
        super().setupUi(self)  # Вызываем функцию из класса с UI
→ Ссылка
Автор решения: S. Nick

Первое, что вы должны запомнить - НИКОГДА НЕ изменяйте модуль созданный в QT Designer. НИКОГДА.

Вы должны воспринимать этот модуль как файл ресурсов.

Создайте класс и наполните его тем что вы создали в QT Designer.

login.py

import sys
from PyQt5 import QtCore, QtGui, QtWidgets
from PyQt5.QtWidgets import QMessageBox, QLabel

#from emptywindow import Ui_emptyWindow                                    # ---
from datalog import DataCommands                  
from signup import Ui_SignupWindow              


class StartWindow(object):
    def setupUi(self, MainWindow):
        MainWindow.setObjectName("MainWindow")
        MainWindow.setGeometry(320, 180, 1280, 720)
        MainWindow.setMinimumSize(QtCore.QSize(1280, 720))
        MainWindow.setMaximumSize(QtCore.QSize(1280, 720))
        self.centralwidget = QtWidgets.QWidget(MainWindow)
        self.centralwidget.setObjectName("centralwidget")

        self.labelgamename = QtWidgets.QLabel(self.centralwidget)
        self.labelgamename.setGeometry(QtCore.QRect(310, 100, 691, 141))
        self.labelgamename.setStyleSheet("font: 72pt \"Pixel Times Bold\";")
        self.labelgamename.setObjectName("labelgamename")

        self.labelauthor = QtWidgets.QLabel(self.centralwidget)
        self.labelauthor.setGeometry(QtCore.QRect(680, 230, 371, 71))
        self.labelauthor.setStyleSheet("font: 25pt \"Ink Free\";\n"
                                       "text-decoration: underline;")
        self.labelauthor.setObjectName("labelauthor")

        self.labelLogin = QtWidgets.QLabel(self.centralwidget)
        self.labelLogin.setGeometry(QtCore.QRect(485, 370, 150, 70))
        self.labelLogin.setStyleSheet("font: 63 14pt \"Yu Gothic UI Semibold\";")
        self.labelLogin.setObjectName("labelLogin")

        self.labelPassword = QtWidgets.QLabel(self.centralwidget)
        self.labelPassword.setGeometry(QtCore.QRect(490, 430, 140, 70))
        self.labelPassword.setStyleSheet("font: 63 14pt \"Yu Gothic UI Semibold\";")
        self.labelPassword.setObjectName("labelPassword")

        self.labelLoging = QtWidgets.QLabel(self.centralwidget)
        self.labelLoging.setGeometry(QtCore.QRect(680, 320, 81, 70))
        self.labelLoging.setStyleSheet("font: 63 18pt \"Yu Gothic UI Semibold\";")
        self.labelLoging.setObjectName("labelLoging")

        self.lineLogin = QtWidgets.QLineEdit(self.centralwidget)
        self.lineLogin.setGeometry(QtCore.QRect(610, 390, 220, 40))
        self.lineLogin.setCursorMoveStyle(QtCore.Qt.LogicalMoveStyle)
        self.lineLogin.setClearButtonEnabled(True)
        self.lineLogin.setObjectName("lineLogin")

        self.linePassword = QtWidgets.QLineEdit(self.centralwidget)
        self.linePassword.setGeometry(QtCore.QRect(610, 450, 220, 40))
        self.linePassword.setEchoMode(QtWidgets.QLineEdit.Password)
        self.linePassword.setClearButtonEnabled(True)
        self.linePassword.setObjectName("linePassword")

        self.buttonLogin = QtWidgets.QPushButton(self.centralwidget)
        self.buttonLogin.setGeometry(QtCore.QRect(610, 510, 101, 41))
        self.buttonLogin.setObjectName("buttonLogin")
#        self.buttonLogin.clicked.connect(self.access_check)                     # ---

        self.buttonSignUp = QtWidgets.QPushButton(self.centralwidget)
        self.buttonSignUp.setGeometry(QtCore.QRect(730, 510, 101, 41))
        self.buttonSignUp.setObjectName("buttonSignUp")
#        #self.buttonSignUp.clicked.connect(self.)                               # ---

        MainWindow.setCentralWidget(self.centralwidget)
        self.retranslateUi(MainWindow)
        QtCore.QMetaObject.connectSlotsByName(MainWindow)

    def retranslateUi(self, MainWindow):
        _translate = QtCore.QCoreApplication.translate
        MainWindow.setWindowTitle(_translate("MainWindow", "TaxPark Game"))

        self.labelgamename.setText(_translate("MainWindow", "TaxPark"))
        self.labelauthor.setText(_translate("MainWindow", "by Vitalii Shchudlo"))
        self.labelPassword.setText(_translate("MainWindow", "Password: "))
        self.labelLogin.setText(_translate("MainWindow", "Username:"))
        self.labelLoging.setText(_translate("MainWindowWindow", "Login"))
        self.linePassword.setPlaceholderText(_translate("MainWindow", "Enter your password"))
        self.lineLogin.setPlaceholderText(_translate("MainWindow", "Enter your username"))
        self.buttonLogin.setText(_translate("MainWindow", "Log In"))
        self.buttonSignUp.setText(_translate("MainWindow", "Sign Up"))

'''
    НИКОГДА не изменяйте модуль созданный в `Qt Designer`. !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

    def openWindowTest(self):
        self.window = QtWidgets.QMainWindow()
        self.ui = Ui_emptyWindow()
        self.ui.setupUi(self.window)
        MainWindow.hide()
        self.window.show()

    def access_check(self):
        msg = QMessageBox()
        msg.setGeometry(133, 150, 500, 504)
        user_login = self.lineLogin.text()
        user_pass = self.linePassword.text()

        check = DataCommands(user_login, user_pass)
        if check.access() == True:
            msg.setWindowTitle('Entering...')
            msg.setIcon(QMessageBox.Information)
            msg.setText('You are successfully logged in.')
            msg.exec_()

        else:
            msg.setWindowTitle('Error')
            msg.setIcon(QMessageBox.Critical)
            msg.setText('Incorrect login or password.')
            msg.exec_()
'''

# Создаем класс для окна регистрации                                          # !!!
class SignupWindow(QtWidgets.QMainWindow, Ui_SignupWindow):                   # +++
    def __init__(self):
        super().__init__()

        self.setupUi(self)                                        # добавляем дизайн из Ui_SignupWindow

# Создаем класс для Главного окна
class MainWindow(QtWidgets.QMainWindow, StartWindow):
    def __init__(self):
        super().__init__()

        self.setupUi(self)                                        # добавляем дизайн из StartWindow

        # пишем логику приложения

        self.buttonLogin.clicked.connect(self.access_check)
        self.buttonSignUp.clicked.connect(self.openWindowTest)               

    def openWindowTest(self):
        self.signupWindow = SignupWindow()
        self.signupWindow.buttonLogIn.clicked.connect(self.openWindowLogin)
        self.signupWindow.buttonRegister.clicked.connect(self.goRegister)
        self.signupWindow.show()
        self.hide()

    def openWindowLogin(self):
        self.signupWindow.hide()
        self.show()

    def goRegister(self): 
        if (self.signupWindow.lineLogin.text() and \
            self.signupWindow.linePassword.text() and \
            self.signupWindow.linePassword_2.text()) and \
            (self.signupWindow.linePassword.text() == self.signupWindow.linePassword_2.text()):
            QtWidgets.QMessageBox.information(self, "Внимание", "Можно регистрировать клиента.")
#            QtWidgets.QMessageBox.information(self, "Ошибка", "Что-то пошло не так.")
        else:
#            QtWidgets.QMessageBox.information(self, "Внимание", "Можно регистрировать клиента.")
            QtWidgets.QMessageBox.information(self, "Ошибка", "Что-то пошло не так.")

    def access_check(self):
        msg = QMessageBox()
        msg.setGeometry(133, 150, 500, 504)

        user_login = self.lineLogin.text()
        user_pass = self.linePassword.text()

        if user_login and user_pass:                             # +++ Надо что-то и как-о проверять
            check = DataCommands(user_login, user_pass)
            if check.access() == True:
                msg.setWindowTitle('Entering...')
                msg.setIcon(QMessageBox.Information)
                msg.setText('You are successfully logged in.')
                msg.exec_()
            else:
                msg.setWindowTitle('Error')
                msg.setIcon(QMessageBox.Critical)
                msg.setText('Incorrect login or password.')
                msg.exec_()
        else:                                                                                  # +++
            QtWidgets.QMessageBox.information(self, "Внимание", "Введите login и password.")


if __name__ == "__main__":
    app = QtWidgets.QApplication(sys.argv)
    w = MainWindow()
    w.show()
    sys.exit(app.exec_()) 

signup.py

import sys
from PyQt5 import QtCore, QtGui, QtWidgets


class Ui_SignupWindow(object):
    def setupUi(self, SignupWindow):
        SignupWindow.setObjectName("SignupWindow")
        SignupWindow.setGeometry(320, 180, 1280, 720)
        SignupWindow.setMinimumSize(QtCore.QSize(1280, 720))
        SignupWindow.setMaximumSize(QtCore.QSize(1280, 720))
        self.centralwidget = QtWidgets.QWidget(SignupWindow)
        self.centralwidget.setObjectName("centralwidget")

        self.labelgamename = QtWidgets.QLabel(self.centralwidget)
        self.labelgamename.setGeometry(QtCore.QRect(310, 100, 691, 141))
        self.labelgamename.setStyleSheet("font: 72pt \"Pixel Times Bold\";")
        self.labelgamename.setObjectName("labelgamename")

        self.labelauthor = QtWidgets.QLabel(self.centralwidget)
        self.labelauthor.setGeometry(QtCore.QRect(680, 230, 371, 71))
        self.labelauthor.setStyleSheet("font: 25pt \"Ink Free\";\n"
"text-decoration: underline;")
        self.labelauthor.setObjectName("labelauthor")

        self.linePassword = QtWidgets.QLineEdit(self.centralwidget)
        self.linePassword.setGeometry(QtCore.QRect(610, 450, 220, 40))
        self.linePassword.setEchoMode(QtWidgets.QLineEdit.Password)
        self.linePassword.setClearButtonEnabled(True)
        self.linePassword.setObjectName("linePassword")

        self.labelPassword = QtWidgets.QLabel(self.centralwidget)
        self.labelPassword.setGeometry(QtCore.QRect(490, 430, 111, 70))
        self.labelPassword.setStyleSheet("font: 63 14pt \"Yu Gothic UI Semibold\";")
        self.labelPassword.setObjectName("labelPassword")

        self.lineLogin = QtWidgets.QLineEdit(self.centralwidget)
        self.lineLogin.setGeometry(QtCore.QRect(610, 390, 220, 40))
        self.lineLogin.setClearButtonEnabled(True)
        self.lineLogin.setObjectName("lineLogin")

        self.labelUsername = QtWidgets.QLabel(self.centralwidget)
        self.labelUsername.setGeometry(QtCore.QRect(485, 370, 121, 70))
        self.labelUsername.setStyleSheet("font: 63 14pt \"Yu Gothic UI Semibold\";")
        self.labelUsername.setObjectName("labelUsername")

        self.buttonRegister = QtWidgets.QPushButton(self.centralwidget)
        self.buttonRegister.setGeometry(QtCore.QRect(610, 570, 101, 41))
        self.buttonRegister.setObjectName("buttonRegister")

        self.buttonLogIn = QtWidgets.QPushButton(self.centralwidget)
        self.buttonLogIn.setGeometry(QtCore.QRect(730, 570, 101, 41))
        self.buttonLogIn.setObjectName("buttonLogIn")
#        self.buttonLogIn.clicked.connect(self.openWindowLogin)                          # ---

        self.labelRegistration = QtWidgets.QLabel(self.centralwidget)
        self.labelRegistration.setGeometry(QtCore.QRect(635, 320, 171, 70))
        self.labelRegistration.setStyleSheet("font: 63 18pt \"Yu Gothic UI Semibold\";")
        self.labelRegistration.setObjectName("labelRegistration")

        self.linePassword_2 = QtWidgets.QLineEdit(self.centralwidget)
        self.linePassword_2.setGeometry(QtCore.QRect(610, 510, 220, 40))
        self.linePassword_2.setEchoMode(QtWidgets.QLineEdit.Password)
        self.linePassword_2.setClearButtonEnabled(True)
        self.linePassword_2.setObjectName("linePassword_2")

        self.labelPassword_2 = QtWidgets.QLabel(self.centralwidget)
        self.labelPassword_2.setGeometry(QtCore.QRect(400, 490, 200, 70))
        self.labelPassword_2.setStyleSheet("font: 63 14pt \"Yu Gothic UI Semibold\";")
        self.labelPassword_2.setObjectName("labelPassword_2")

        self.labelProblem2 = QtWidgets.QLabel(self.centralwidget)
        self.labelProblem2.setGeometry(QtCore.QRect(850, 450, 211, 41))
        self.labelProblem2.setStyleSheet("font: 63 10pt \"Yu Gothic UI Semibold\";\n"
"color: rgb(255, 0, 0);\n"
"")
        self.labelProblem2.setText("")
        self.labelProblem2.setObjectName("labelProblem2")

        self.labelProblem1 = QtWidgets.QLabel(self.centralwidget)
        self.labelProblem1.setGeometry(QtCore.QRect(850, 390, 211, 41))
        self.labelProblem1.setStyleSheet("font: 63 10pt \"Yu Gothic UI Semibold\";\n"
"color: rgb(255, 0, 0);\n"
"")
        self.labelProblem1.setText("")
        self.labelProblem1.setObjectName("labelProblem1")

        SignupWindow.setCentralWidget(self.centralwidget)
        self.retranslateUi(SignupWindow)
        QtCore.QMetaObject.connectSlotsByName(SignupWindow)

    def retranslateUi(self, SignupWindow):
        _translate = QtCore.QCoreApplication.translate
        SignupWindow.setWindowTitle(_translate("SignupWindow", "TaxPark Game"))
        self.labelgamename.setText(_translate("SignupWindow", "TaxPark"))
        self.labelauthor.setText(_translate("SignupWindow", "by Vitalii Shchudlo"))
        self.linePassword.setPlaceholderText(_translate("SignupWindow", "Enter your password"))
        self.labelPassword.setText(_translate("SignupWindow", "Password: "))
        self.lineLogin.setPlaceholderText(_translate("SignupWindow", "Enter your username"))
        self.labelUsername.setText(_translate("SignupWindow", "Username:"))
        self.buttonRegister.setText(_translate("SignupWindow", "Register"))
        self.buttonLogIn.setText(_translate("SignupWindow", "Log In"))
        self.labelRegistration.setText(_translate("SignupWindow", "Registration"))
        self.linePassword_2.setPlaceholderText(_translate("SignupWindow", "Confirm your password"))
        self.labelPassword_2.setText(_translate("SignupWindow", "Confirm Password: "))

'''
    НИКОГДА не изменяйте модуль созданный в `Qt Designer`. !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

    def openWindowLogin(self):
        from login import StartWindow
        self.window = QtWidgets.QMainWindow()
        self.ui = StartWindow()
        self.ui.setupUi(self.window)
        SignupWindow.hide()
        self.window.show()

        # self.window = QtWidgets.QMainWindow()
        # self.ui = Ui_SignupWindow()s
        # self.ui.setupUi(self.window)
        # SignupWindow.hide()
        # self.window.show()
'''

if __name__ == "__main__":
    app = QtWidgets.QApplication(sys.argv)
    SignupWindow = QtWidgets.QMainWindow()
    ui = Ui_SignupWindow()
    ui.setupUi(SignupWindow)
    SignupWindow.show()
    sys.exit(app.exec_())

datalog.py

import sqlite3

class DataCommands:
    def __init__(self, inputed_login, inputed_password):
        self.inputed_login = inputed_login
        self.inputed_password = inputed_password

    def access(self):
        if self.check_data() == True:
            return True
        else:
            return False

    def check_data(self):
        conn = sqlite3.connect('data.db')
        cursor = conn.cursor()

        find_user = ('SELECT * FROM tabletest WHERE login = ? AND password = ?')
        cursor.execute(find_user, [(self.inputed_login), (self.inputed_password)])
        results = cursor.fetchall()
        if results:
            return True
        else:
            return False

введите сюда описание изображения

PS. Я не смотрел вашу логику работы с БД.

→ Ссылка