После перехода во второе окно с помощью авторизации, не работает кнопка "Добавить" во втором окне

У меня есть файл, где происходит только авторизация (регистрация недоступна). После успешной авторизации пользователем он переносится в окно менеджера, отображается таблица, но при попытке добавить что-то новое, оно не добавляется.
Более того, ошибок нет ни в терминале, ни в обработчике, ни в консоли! Просто нет перехода после нажатия кнопки к методу добавления.

Window_authorization.py:

from PyQt5 import QtCore, QtGui, QtWidgets
class Ui_AuthorizationWindow(object):

    def setupUi(self, AuthorizationWindow):
        AuthorizationWindow.setObjectName("AuthorizationWindow")
        AuthorizationWindow.resize(340, 460)
        self.centralwidget = QtWidgets.QWidget(AuthorizationWindow)
        self.centralwidget.setObjectName("centralwidget")
        # Создаем QLabel для отображения фона
        self.background_label = QtWidgets.QLabel(self.centralwidget)
        self.background_label.setGeometry(QtCore.QRect(0, 0, 340, 460))

        # Загружаем фоновое изображение
        background_image = QtGui.QPixmap("D:/PracticeMPT/PracticeApplication/designFile/background.jpeg")
        self.background_label.setPixmap(background_image)
        self.background_label.setScaledContents(True)
        self.label = QtWidgets.QLabel(self.centralwidget)
        self.label.setGeometry(QtCore.QRect(0, 90, 340, 50))
        font = QtGui.QFont()
        font.setPointSize(14)
        font.setBold(True)
        font.setWeight(75)
        self.label.setFont(font)
        self.label.setAlignment(QtCore.Qt.AlignCenter)
        self.label.setObjectName("label")
        self.label_2 = QtWidgets.QLabel(self.centralwidget)
        self.label_2.setGeometry(QtCore.QRect(0, 25, 340, 90))
        self.label_2.setText("")
        self.label_2.setPixmap(QtGui.QPixmap("D:/PracticeMPT/PracticeApplication/designFile/logo.png"))
        self.label_2.setAlignment(QtCore.Qt.AlignCenter)
        self.label_2.setObjectName("label_2")
        self.lineEdit = QtWidgets.QLineEdit(self.centralwidget)
        self.lineEdit.setGeometry(QtCore.QRect(75, 200, 193, 31))
        self.lineEdit.setObjectName("lineEdit")
        self.lineEdit_2 = QtWidgets.QLineEdit(self.centralwidget)
        self.lineEdit_2.setGeometry(QtCore.QRect(75, 260, 193, 31))
        self.lineEdit_2.setObjectName("lineEdit_2")
        self.pushButton = QtWidgets.QPushButton(self.centralwidget)
        self.pushButton.setGeometry(QtCore.QRect(93, 350, 158, 50))
        font = QtGui.QFont()
        font.setPointSize(10)
        font.setBold(True)
        font.setWeight(75)
        self.pushButton.setFont(font)
        self.pushButton.setLayoutDirection(QtCore.Qt.LeftToRight)
        self.pushButton.setObjectName("pushButton")

        self.label_3 = QtWidgets.QLabel(self.centralwidget)
        self.label_3.setGeometry(QtCore.QRect(10, 230, 55, 16))
        self.label_3.setText("")
        self.label_3.setObjectName("label_3")
        AuthorizationWindow.setCentralWidget(self.centralwidget)

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

        self.manager_window = None
    def retranslateUi(self, AuthorizationWindow):
        _translate = QtCore.QCoreApplication.translate
        AuthorizationWindow.setWindowTitle(_translate("AuthorizationWindow", "MainWindow"))
        self.label.setText(_translate("AuthorizationWindow", "Добро пожаловать!"))
        self.pushButton.setText(_translate("AuthorizationWindow", "Войти"))

Mainmain.py:

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

from Window_authorization import Ui_AuthorizationWindow
from ManagerWindow_Staff import Ui_ManagerWindow_Staff


class AuthorizationWindow(QtWidgets.QMainWindow):
    def __init__(self):
        super().__init__()
        self.ui = Ui_AuthorizationWindow()
        self.ui.setupUi(self)
        self.ui.pushButton.clicked.connect(self.login)

    def openManagerWindow_Staff(self):
        self.manager_window = QtWidgets.QMainWindow()
        manager_ui = Ui_ManagerWindow_Staff()
        manager_ui.setupUi(self.manager_window)
        self.close()
        self.manager_window.show()

    def login(self):
        username = self.ui.lineEdit.text()
        password = self.ui.lineEdit_2.text()

        # Подключение к базе данных
        conn = sqlite3.connect('database3.db')
        cursor = conn.cursor()

        # Проверка логина, пароля и роли в базе данных
        cursor.execute('SELECT Role FROM Authorization WHERE Login=? AND Password=?', (username, password))
        role = cursor.fetchone()

        if role and role[0] == 'Manager':
            self.openManagerWindow_Staff()
        else:
            # Выводим сообщение о неверном логине или пароле
            QMessageBox.warning(self, "Ошибка", "Неверный логин или пароль")

        # Закрываем соединение с базой данных
        conn.close()

class ManagerWindowS(QtWidgets.QMainWindow):
    def __init__(self):
        super().__init__()
        self.ui = Ui_ManagerWindow_Staff()
        self.ui.setupUi(self)
        self.pushButton_3.clicked.connect(self.add_data)

    def add_data(self):
        # Получаем значения из текстбоксов и комбобоксов
        last_name = self.lineEdit_3.text()
        first_name = self.lineEdit.text()
        patronymic = self.lineEdit_4.text()
        birth_date = self.lineEdit_5.text()
        phone = self.lineEdit_7.text()
        duties = self.lineEdit_8.text()
        training_id = self.comboBox.currentIndex() + 1  # получаем ID обучения
        evaluation = self.lineEdit_6.text()

        # Вставляем новую запись в базу данных
        conn = sqlite3.connect('database3.db')
        cursor = conn.cursor()
        query = 'INSERT INTO Staff (LastName, FirstName, Patronymic, BirthDate, Phone, Duties, TrainingID, Evaluation) VALUES (?, ?, ?, ?, ?, ?, ?, ?)'
        values = (last_name, first_name, patronymic, birth_date, phone, duties, training_id, evaluation)

        cursor.execute(query, values)
        conn.commit()
        conn.close()

        # Обновляем данные в таблице
        self.update_table()

    def update_table(self):
        # Обновляем данные в таблице
        conn = sqlite3.connect('database3.db')
        cursor = conn.cursor()
        query = 'SELECT * FROM Staff'
        result = cursor.execute(query).fetchall()

        # Очищаем модель
        self.model.clear()

        # Заполняем модель новыми данными
        for row_number, row_data in enumerate(result):
            for column_number, data in enumerate(row_data):
                item = QtGui.QStandardItem(str(data))
                self.model.setItem(row_number, column_number, item)

        # Закрываем соединение с базой данных
        conn.close()
if __name__ == "__main__":
    app = QtWidgets.QApplication(sys.argv)
    authorization_window = AuthorizationWindow()
    authorization_window.show()
    sys.exit(app.exec_())

ManagerWindow_Staff:

import sqlite3

from PyQt5 import QtCore, QtGui, QtWidgets

class Ui_ManagerWindow_Staff(object):
    def setupUi(self, MainWindow):
            MainWindow.setObjectName("MainWindow")
            MainWindow.resize(975, 500)
            self.centralwidget = QtWidgets.QWidget(MainWindow)
            self.centralwidget.setObjectName("centralwidget")
            self.widget = QtWidgets.QWidget(self.centralwidget)
            self.widget.setGeometry(QtCore.QRect(0, 0, 191, 500))
            self.widget.setStyleSheet("background-color: #40E7FE;")
            self.widget.setObjectName("widget")
            self.pushButton = QtWidgets.QPushButton(self.widget)
            self.pushButton.setGeometry(QtCore.QRect(15, 440, 158, 50))
            font = QtGui.QFont()
            font.setPointSize(10)
            font.setBold(True)
            font.setWeight(75)
            self.pushButton.setFont(font)
            self.pushButton.setStyleSheet("QPushButton{\n"
                                          "background-color: white;\n"
                                          "border: 1px solid;\n"
                                          "border-radius: 7px;\n"
                                          "}\n"
                                          "QPushButton:hover{\n"
                                          "background-color: rgba(170, 197, 250);\n"
                                          "}\n"
                                          "QPushButton:pressed{\n"
                                          "background-color: rgba(107, 152, 242);\n"
                                          "}")
            self.pushButton.setObjectName("pushButton")
            self.label = QtWidgets.QLabel(self.widget)
            self.label.setGeometry(QtCore.QRect(0, 0, 181, 90))
            self.label.setText("")
            self.label.setPixmap(QtGui.QPixmap("D:\PracticeMPT\PracticeApplication\designFile\logo.png"))
            self.label.setAlignment(QtCore.Qt.AlignCenter)
            self.label.setObjectName("label")
            self.pushButton_4 = QtWidgets.QPushButton(self.widget)
            self.pushButton_4.setGeometry(QtCore.QRect(15, 260, 158, 50))
            font = QtGui.QFont()
            font.setPointSize(10)
            font.setBold(True)
            font.setWeight(75)
            self.pushButton_4.setFont(font)
            self.pushButton_4.setStyleSheet("QPushButton{\n"
                                            "background-color: white;\n"
                                            "border: 1px solid;\n"
                                            "border-radius: 7px;\n"
                                            "}\n"
                                            "QPushButton:hover{\n"
                                            "background-color: rgba(170, 197, 250);\n"
                                            "}\n"
                                            "QPushButton:pressed{\n"
                                            "background-color: rgba(107, 152, 242);\n"
                                            "}")
            self.pushButton_4.setObjectName("pushButton_4")
            self.pushButton_5 = QtWidgets.QPushButton(self.widget)
            self.pushButton_5.setGeometry(QtCore.QRect(15, 190, 158, 50))
            font = QtGui.QFont()
            font.setPointSize(10)
            font.setBold(True)
            font.setWeight(75)
            self.pushButton_5.setFont(font)
            self.pushButton_5.setStyleSheet("QPushButton{\n"
                                            "background-color: white;\n"
                                            "border: 1px solid;\n"
                                            "border-radius: 7px;\n"
                                            "}\n"
                                            "QPushButton:hover{\n"
                                            "background-color: rgba(170, 197, 250);\n"
                                            "}\n"
                                            "QPushButton:pressed{\n"
                                            "background-color: rgba(107, 152, 242);\n"
                                            "}")
            self.pushButton_5.setObjectName("pushButton_5")

            self.pushButton_2 = QtWidgets.QPushButton(self.widget)
            self.pushButton_2.setGeometry(QtCore.QRect(15, 120, 158, 50))
            font = QtGui.QFont()
            font.setPointSize(10)
            font.setBold(True)
            font.setWeight(75)
            self.pushButton_2.setFont(font)
            self.pushButton_2.setStyleSheet("QPushButton{\n"
                                            "background-color: white;\n"
                                            "border: 1px solid;\n"
                                            "border-radius: 7px;\n"
                                            "}\n"
                                            "QPushButton:hover{\n"
                                            "background-color: rgba(170, 197, 250);\n"
                                            "}\n"
                                            "QPushButton:pressed{\n"
                                            "background-color: rgba(107, 152, 242);\n"
                                            "}")
            self.pushButton_2.setObjectName("pushButton_2")
            self.widget_2 = QtWidgets.QWidget(self.centralwidget)
            self.widget_2.setGeometry(QtCore.QRect(190, 0, 791, 501))
            self.widget_2.setContextMenuPolicy(QtCore.Qt.DefaultContextMenu)
            self.widget_2.setToolTip("")
            self.widget_2.setStatusTip("")
            self.widget_2.setAccessibleName("")
            self.widget_2.setAccessibleDescription("")
            self.widget_2.setStyleSheet("background-color: #EBE2E2;")
            self.widget_2.setObjectName("widget_2")

            self.tableView = QtWidgets.QTableView(self.widget_2)
            self.tableView.setGeometry(QtCore.QRect(10, 20, 731, 271))
            self.tableView.setObjectName("tableView")

            # Создаем подключение к базе данных
            conn = sqlite3.connect('database3.db')
            cursor = conn.cursor()

            # Выбираем данные из таблицы Staff
            query = 'SELECT * FROM Staff'
            result = cursor.execute(query).fetchall()

            # Создаем модель для отображения данных в таблице
            self.model = QtGui.QStandardItemModel(len(result), len(result[0]), self.widget_2)
            self.model.setHorizontalHeaderLabels(
                ["ID", "Фамилия", "Имя", "Отчество", "Дата рождения", "Телефон", "Обязанности", "ID обучения",
                 "Оценка"])

            for row_number, row_data in enumerate(result):
                for column_number, data in enumerate(row_data):
                    item = QtGui.QStandardItem(str(data))
                    self.model.setItem(row_number, column_number, item)

            # Создаем таблицу и привязываем к ней модель
            self.tableView.setModel(self.model)

            # Закрываем соединение с базой данных
            conn.close()

            self.lineEdit = QtWidgets.QLineEdit(self.widget_2)
            self.lineEdit.setGeometry(QtCore.QRect(10, 310, 90, 26))
            self.lineEdit.setStyleSheet("Background-color: white; \n"
                                        "border-radius: 7px;\n"
                                        "")
            self.lineEdit.setEchoMode(QtWidgets.QLineEdit.Normal)
            self.lineEdit.setObjectName("lineEdit")
            self.lineEdit_3 = QtWidgets.QLineEdit(self.widget_2)
            self.lineEdit_3.setGeometry(QtCore.QRect(110, 310, 90, 26))
            self.lineEdit_3.setStyleSheet("Background-color: white; \n"
                                          "border-radius: 7px;\n"
                                          "")
            self.lineEdit_3.setObjectName("lineEdit_3")
            self.lineEdit_4 = QtWidgets.QLineEdit(self.widget_2)
            self.lineEdit_4.setGeometry(QtCore.QRect(210, 310, 90, 26))
            self.lineEdit_4.setStyleSheet("Background-color: white; \n"
                                          "border-radius: 7px;\n"
                                          "")
            self.lineEdit_4.setObjectName("lineEdit_4")
            self.lineEdit_5 = QtWidgets.QLineEdit(self.widget_2)
            self.lineEdit_5.setGeometry(QtCore.QRect(310, 310, 90, 26))
            self.lineEdit_5.setStyleSheet("Background-color: white; \n"
                                          "border-radius: 7px;\n"
                                          "")
            self.lineEdit_5.setObjectName("lineEdit_5")
            self.lineEdit_6 = QtWidgets.QLineEdit(self.widget_2)
            self.lineEdit_6.setGeometry(QtCore.QRect(595, 310, 90, 26))
            self.lineEdit_6.setStyleSheet("Background-color: white; \n"
                                          "border-radius: 7px;\n"
                                          "")
            self.lineEdit_6.setObjectName("lineEdit_6")
            self.lineEdit_7 = QtWidgets.QLineEdit(self.widget_2)
            self.lineEdit_7.setGeometry(QtCore.QRect(410, 310, 90, 26))
            self.lineEdit_7.setStyleSheet("Background-color: white; \n"
                                          "border-radius: 7px;\n"
                                          "")
            self.lineEdit_7.setObjectName("lineEdit_7")
            self.comboBox = QtWidgets.QComboBox(self.widget_2)
            self.comboBox.setGeometry(QtCore.QRect(510, 313, 73, 22))
            self.comboBox.setStyleSheet("Background-color: white; \n"
                                        "border-radius: 7px;\n"
                                        "")

            conn = sqlite3.connect('database3.db')
            cursor = conn.cursor()
            query = 'SELECT Training FROM Training'
            trainings = cursor.execute(query).fetchall()
            conn.close()

            # Заполняем комбобокс данными из таблицы "Training"
            for training in trainings:
                self.comboBox.addItem(training[0])



            self.lineEdit_8 = QtWidgets.QLineEdit(self.widget_2)
            self.lineEdit_8.setGeometry(QtCore.QRect(596, 350, 90, 26))
            self.lineEdit_8.setStyleSheet("Background-color: white; \n"
                                          "border-radius: 7px;\n"
                                          "")
            self.lineEdit_8.setObjectName("lineEdit_8")
            MainWindow.setCentralWidget(self.centralwidget)

            self.comboBox.setCurrentText("")
            self.comboBox.setObjectName("comboBox")
            self.pushButton_3 = QtWidgets.QPushButton(self.widget_2)
            self.pushButton_3.setGeometry(QtCore.QRect(30, 450, 100, 30))
            font = QtGui.QFont()
            font.setPointSize(7)
            font.setBold(True)
            font.setWeight(75)
            self.pushButton_3.setFont(font)
            self.pushButton_3.setAutoFillBackground(False)
            self.pushButton_3.setStyleSheet("QPushButton{\n"
                                            "background-color: white;\n"
                                            "border: 1px solid;\n"
                                            "border-radius: 7px;\n"
                                            "}\n"
                                            "QPushButton:hover{\n"
                                            "background-color: rgba(170, 197, 250);\n"
                                            "}\n"
                                            "QPushButton:pressed{\n"
                                            "background-color: rgba(107, 152, 242);\n"
                                            "}")
            self.pushButton_3.setObjectName("pushButton_3")


            self.pushButton_6 = QtWidgets.QPushButton(self.widget_2)
            self.pushButton_6.setGeometry(QtCore.QRect(145, 450, 100, 30))
            font = QtGui.QFont()
            font.setPointSize(7)
            font.setBold(True)
            font.setWeight(75)
            self.pushButton_6.setFont(font)
            self.pushButton_6.setAutoFillBackground(False)
            self.pushButton_6.setStyleSheet("QPushButton{\n"
                                            "background-color: white;\n"
                                            "border: 1px solid;\n"
                                            "border-radius: 7px;\n"
                                            "}\n"
                                            "QPushButton:hover{\n"
                                            "background-color: rgba(170, 197, 250);\n"
                                            "}\n"
                                            "QPushButton:pressed{\n"
                                            "background-color: rgba(107, 152, 242);\n"
                                            "}")
            self.pushButton_6.setObjectName("pushButton_6")
              # Обновлено имя метода
            self.pushButton_7 = QtWidgets.QPushButton(self.widget_2)
            self.pushButton_7.setGeometry(QtCore.QRect(260, 450, 100, 30))
            font = QtGui.QFont()
            font.setPointSize(7)
            font.setBold(True)
            font.setWeight(75)
            self.pushButton_7.setFont(font)
            self.pushButton_7.setAutoFillBackground(False)
            self.pushButton_7.setStyleSheet("QPushButton{\n"
                                            "background-color: white;\n"
                                            "border: 1px solid;\n"
                                            "border-radius: 7px;\n"
                                            "}\n"
                                            "QPushButton:hover{\n"
                                            "background-color: rgba(170, 197, 250);\n"
                                            "}\n"
                                            "QPushButton:pressed{\n"
                                            "background-color: rgba(107, 152, 242);\n"
                                            "}")
            self.pushButton_7.setObjectName("pushButton_7")
            MainWindow.setCentralWidget(self.centralwidget)

            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", "Выход"))
            self.pushButton_4.setText(_translate("MainWindow", "Планирование\n"
                                                               "обучения"))
            self.pushButton_5.setText(_translate("MainWindow", "Оценить\n"
                                                               "сотрудника"))
            self.pushButton_2.setText(_translate("MainWindow", "Сотрудники"))
            self.lineEdit.setToolTip(_translate("MainWindow", "фывфы"))
            self.lineEdit.setPlaceholderText(_translate("MainWindow", "Имя"))
            self.lineEdit_3.setPlaceholderText(_translate("MainWindow", "Фамилия"))
            self.lineEdit_4.setPlaceholderText(_translate("MainWindow", "Отчество"))
            self.lineEdit_5.setPlaceholderText(_translate("MainWindow", "Родился"))
            self.lineEdit_6.setPlaceholderText(_translate("MainWindow", "Оценка произ"))
            self.lineEdit_7.setPlaceholderText(_translate("MainWindow", "Телефон"))
            self.lineEdit_8.setPlaceholderText(_translate("MainWindow", "Обязаности"))
            self.pushButton_3.setText(_translate("MainWindow", "Добавить"))
            self.pushButton_6.setText(_translate("MainWindow", "Изменить"))
            self.pushButton_7.setText(_translate("MainWindow", "Удалить"))

В методе с интерфейсом менеджера вы увидите код вывода таблицы, который записан в интерфейсе. Изначально это тоже было в отдельном классе, но, переделав код, я подумал, что это как-то способствует решению проблемы, в итоге это не помогло и пока я оставил все как есть.

Честно говоря, я даже не понимаю, почему это происходит?

Может быть, потому, что нет запуска окна и он не видит эти клики.
Я использую библиотеку PyQt.


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

Автор решения: S. Nick
  1. В вопросах связанных с запросами к БД, надо прикладывать скрипт, который сформирует БД с нужными таблицами и как-то их заполнит.

  2. НИКОГДА НЕ ИЗМЕНЯЙТЕ код, сгенерированный Qt Designer, НИКОГДА.
    Создайте другой класс, который наследуется от соответствующего виджета, и используйте созданный класс для его заполнения.

  3. Вы создали класс ManagerWindowS(), но не подключили его, а подключили форму Ui_ManagerWindow_Staff(), в которой нет привязки сигналов и слотов.

  4. Для более эффективной работы с БД, изучите: Qt SQL — важный модуль, обеспечивающий поддержку баз данных SQL.
    Руководство по программированию SQL содержит информацию о разработке с использованием Qt SQL.
    На эту тему есть много вопросов, изучите их.


import sys
import sqlite3
from PyQt5 import QtCore, QtGui, QtWidgets
from PyQt5.QtWidgets import QMessageBox
   
#from Window_authorization import Ui_AuthorizationWindow
class Ui_AuthorizationWindow(object):

    def setupUi(self, AuthorizationWindow):
        AuthorizationWindow.setObjectName("AuthorizationWindow")
        AuthorizationWindow.resize(340, 460)
        self.centralwidget = QtWidgets.QWidget(AuthorizationWindow)
        self.centralwidget.setObjectName("centralwidget")
        # Создаем QLabel для отображения фона
        self.background_label = QtWidgets.QLabel(self.centralwidget)
        self.background_label.setGeometry(QtCore.QRect(0, 0, 340, 460))

        # Загружаем фоновое изображение
        background_image = QtGui.QPixmap("D:/PracticeMPT/PracticeApplication/designFile/background.jpeg")
        self.background_label.setPixmap(background_image)
        self.background_label.setScaledContents(True)
        self.label = QtWidgets.QLabel(self.centralwidget)
        self.label.setGeometry(QtCore.QRect(0, 90, 340, 50))
        font = QtGui.QFont()
        font.setPointSize(14)
        font.setBold(True)
        font.setWeight(75)
        self.label.setFont(font)
        self.label.setAlignment(QtCore.Qt.AlignCenter)
        self.label.setObjectName("label")
        self.label_2 = QtWidgets.QLabel(self.centralwidget)
        self.label_2.setGeometry(QtCore.QRect(0, 25, 340, 90))
        self.label_2.setText("")
        self.label_2.setPixmap(QtGui.QPixmap("D:/PracticeMPT/PracticeApplication/designFile/logo.png"))
        self.label_2.setAlignment(QtCore.Qt.AlignCenter)
        self.label_2.setObjectName("label_2")
        self.lineEdit = QtWidgets.QLineEdit(self.centralwidget)
        self.lineEdit.setGeometry(QtCore.QRect(75, 200, 193, 31))
        self.lineEdit.setObjectName("lineEdit")
        self.lineEdit_2 = QtWidgets.QLineEdit(self.centralwidget)
        self.lineEdit_2.setGeometry(QtCore.QRect(75, 260, 193, 31))
        self.lineEdit_2.setObjectName("lineEdit_2")
        self.pushButton = QtWidgets.QPushButton(self.centralwidget)
        self.pushButton.setGeometry(QtCore.QRect(93, 350, 158, 50))
        font = QtGui.QFont()
        font.setPointSize(10)
        font.setBold(True)
        font.setWeight(75)
        self.pushButton.setFont(font)
        self.pushButton.setLayoutDirection(QtCore.Qt.LeftToRight)
        self.pushButton.setObjectName("pushButton")

        self.label_3 = QtWidgets.QLabel(self.centralwidget)
        self.label_3.setGeometry(QtCore.QRect(10, 230, 55, 16))
        self.label_3.setText("")
        self.label_3.setObjectName("label_3")
        AuthorizationWindow.setCentralWidget(self.centralwidget)

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

        self.manager_window = None
    def retranslateUi(self, AuthorizationWindow):
        _translate = QtCore.QCoreApplication.translate
        AuthorizationWindow.setWindowTitle(_translate("AuthorizationWindow", "MainWindow"))
        self.label.setText(_translate("AuthorizationWindow", "Добро пожаловать!"))
        self.pushButton.setText(_translate("AuthorizationWindow", "Войти"))
        

#from ManagerWindow_Staff import Ui_ManagerWindow_Staff
class Ui_ManagerWindow_Staff(object):
    def setupUi(self, MainWindow):
            MainWindow.setObjectName("MainWindow")
            MainWindow.resize(975, 500)
            self.centralwidget = QtWidgets.QWidget(MainWindow)
            self.centralwidget.setObjectName("centralwidget")
            self.widget = QtWidgets.QWidget(self.centralwidget)
            self.widget.setGeometry(QtCore.QRect(0, 0, 191, 500))
            self.widget.setStyleSheet("background-color: #40E7FE;")
            self.widget.setObjectName("widget")
            self.pushButton = QtWidgets.QPushButton(self.widget)
            self.pushButton.setGeometry(QtCore.QRect(15, 440, 158, 50))
            font = QtGui.QFont()
            font.setPointSize(10)
            font.setBold(True)
            font.setWeight(75)
            self.pushButton.setFont(font)
            self.pushButton.setStyleSheet("QPushButton{\n"
                                          "background-color: white;\n"
                                          "border: 1px solid;\n"
                                          "border-radius: 7px;\n"
                                          "}\n"
                                          "QPushButton:hover{\n"
                                          "background-color: rgba(170, 197, 250);\n"
                                          "}\n"
                                          "QPushButton:pressed{\n"
                                          "background-color: rgba(107, 152, 242);\n"
                                          "}")
            self.pushButton.setObjectName("pushButton")
            self.label = QtWidgets.QLabel(self.widget)
            self.label.setGeometry(QtCore.QRect(0, 0, 181, 90))
            self.label.setText("")
            self.label.setPixmap(QtGui.QPixmap("D:\PracticeMPT\PracticeApplication\designFile\logo.png"))
            self.label.setAlignment(QtCore.Qt.AlignCenter)
            self.label.setObjectName("label")
            self.pushButton_4 = QtWidgets.QPushButton(self.widget)
            self.pushButton_4.setGeometry(QtCore.QRect(15, 260, 158, 50))
            font = QtGui.QFont()
            font.setPointSize(10)
            font.setBold(True)
            font.setWeight(75)
            self.pushButton_4.setFont(font)
            self.pushButton_4.setStyleSheet("QPushButton{\n"
                                            "background-color: white;\n"
                                            "border: 1px solid;\n"
                                            "border-radius: 7px;\n"
                                            "}\n"
                                            "QPushButton:hover{\n"
                                            "background-color: rgba(170, 197, 250);\n"
                                            "}\n"
                                            "QPushButton:pressed{\n"
                                            "background-color: rgba(107, 152, 242);\n"
                                            "}")
            self.pushButton_4.setObjectName("pushButton_4")
            self.pushButton_5 = QtWidgets.QPushButton(self.widget)
            self.pushButton_5.setGeometry(QtCore.QRect(15, 190, 158, 50))
            font = QtGui.QFont()
            font.setPointSize(10)
            font.setBold(True)
            font.setWeight(75)
            self.pushButton_5.setFont(font)
            self.pushButton_5.setStyleSheet("QPushButton{\n"
                                            "background-color: white;\n"
                                            "border: 1px solid;\n"
                                            "border-radius: 7px;\n"
                                            "}\n"
                                            "QPushButton:hover{\n"
                                            "background-color: rgba(170, 197, 250);\n"
                                            "}\n"
                                            "QPushButton:pressed{\n"
                                            "background-color: rgba(107, 152, 242);\n"
                                            "}")
            self.pushButton_5.setObjectName("pushButton_5")

            self.pushButton_2 = QtWidgets.QPushButton(self.widget)
            self.pushButton_2.setGeometry(QtCore.QRect(15, 120, 158, 50))
            font = QtGui.QFont()
            font.setPointSize(10)
            font.setBold(True)
            font.setWeight(75)
            self.pushButton_2.setFont(font)
            self.pushButton_2.setStyleSheet("QPushButton{\n"
                                            "background-color: white;\n"
                                            "border: 1px solid;\n"
                                            "border-radius: 7px;\n"
                                            "}\n"
                                            "QPushButton:hover{\n"
                                            "background-color: rgba(170, 197, 250);\n"
                                            "}\n"
                                            "QPushButton:pressed{\n"
                                            "background-color: rgba(107, 152, 242);\n"
                                            "}")
            self.pushButton_2.setObjectName("pushButton_2")
            self.widget_2 = QtWidgets.QWidget(self.centralwidget)
            self.widget_2.setGeometry(QtCore.QRect(190, 0, 791, 501))
            self.widget_2.setContextMenuPolicy(QtCore.Qt.DefaultContextMenu)
            self.widget_2.setToolTip("")
            self.widget_2.setStatusTip("")
            self.widget_2.setAccessibleName("")
            self.widget_2.setAccessibleDescription("")
            self.widget_2.setStyleSheet("background-color: #EBE2E2;")
            self.widget_2.setObjectName("widget_2")

            self.tableView = QtWidgets.QTableView(self.widget_2)
            self.tableView.setGeometry(QtCore.QRect(10, 20, 731, 271))
            self.tableView.setObjectName("tableView")

# НИКОГДА НЕ ИЗМЕНЯЙТЕ код, сгенерированный Qt Designer, НИКОГДА.

            # Создаем подключение к базе данных
            conn = sqlite3.connect('database3.db')
            cursor = conn.cursor()

            # Выбираем данные из таблицы Staff
            query = 'SELECT * FROM Staff'
            result = cursor.execute(query).fetchall()

            # Создаем модель для отображения данных в таблице
            self.model = QtGui.QStandardItemModel(len(result), len(result[0]), self.widget_2)
            self.model.setHorizontalHeaderLabels(
                ["ID", "Фамилия", "Имя", "Отчество", "Дата рождения", "Телефон", "Обязанности", "ID обучения",
                 "Оценка"])

            for row_number, row_data in enumerate(result):
                for column_number, data in enumerate(row_data):
                    item = QtGui.QStandardItem(str(data))
                    self.model.setItem(row_number, column_number, item)

            # Создаем таблицу и привязываем к ней модель
            self.tableView.setModel(self.model)

            # Закрываем соединение с базой данных
            conn.close()

            self.lineEdit = QtWidgets.QLineEdit(self.widget_2)
            self.lineEdit.setGeometry(QtCore.QRect(10, 310, 90, 26))
            self.lineEdit.setStyleSheet("Background-color: white; \n"
                                        "border-radius: 7px;\n"
                                        "")
            self.lineEdit.setEchoMode(QtWidgets.QLineEdit.Normal)
            self.lineEdit.setObjectName("lineEdit")
            self.lineEdit_3 = QtWidgets.QLineEdit(self.widget_2)
            self.lineEdit_3.setGeometry(QtCore.QRect(110, 310, 90, 26))
            self.lineEdit_3.setStyleSheet("Background-color: white; \n"
                                          "border-radius: 7px;\n"
                                          "")
            self.lineEdit_3.setObjectName("lineEdit_3")
            self.lineEdit_4 = QtWidgets.QLineEdit(self.widget_2)
            self.lineEdit_4.setGeometry(QtCore.QRect(210, 310, 90, 26))
            self.lineEdit_4.setStyleSheet("Background-color: white; \n"
                                          "border-radius: 7px;\n"
                                          "")
            self.lineEdit_4.setObjectName("lineEdit_4")
            self.lineEdit_5 = QtWidgets.QLineEdit(self.widget_2)
            self.lineEdit_5.setGeometry(QtCore.QRect(310, 310, 90, 26))
            self.lineEdit_5.setStyleSheet("Background-color: white; \n"
                                          "border-radius: 7px;\n"
                                          "")
            self.lineEdit_5.setObjectName("lineEdit_5")
            self.lineEdit_6 = QtWidgets.QLineEdit(self.widget_2)
            self.lineEdit_6.setGeometry(QtCore.QRect(595, 310, 90, 26))
            self.lineEdit_6.setStyleSheet("Background-color: white; \n"
                                          "border-radius: 7px;\n"
                                          "")
            self.lineEdit_6.setObjectName("lineEdit_6")
            self.lineEdit_7 = QtWidgets.QLineEdit(self.widget_2)
            self.lineEdit_7.setGeometry(QtCore.QRect(410, 310, 90, 26))
            self.lineEdit_7.setStyleSheet("Background-color: white; \n"
                                          "border-radius: 7px;\n"
                                          "")
            self.lineEdit_7.setObjectName("lineEdit_7")
            self.comboBox = QtWidgets.QComboBox(self.widget_2)
            self.comboBox.setGeometry(QtCore.QRect(510, 313, 73, 22))
            self.comboBox.setStyleSheet("Background-color: white; \n"
                                        "border-radius: 7px;\n"
                                        "")

            conn = sqlite3.connect('database3.db')
            cursor = conn.cursor()
            query = 'SELECT Training FROM Training'
            trainings = cursor.execute(query).fetchall()
            conn.close()

            # Заполняем комбобокс данными из таблицы "Training"
            for training in trainings:
                self.comboBox.addItem(training[0])

            self.lineEdit_8 = QtWidgets.QLineEdit(self.widget_2)
            self.lineEdit_8.setGeometry(QtCore.QRect(596, 350, 90, 26))
            self.lineEdit_8.setStyleSheet("Background-color: white; \n"
                                          "border-radius: 7px;\n"
                                          "")
            self.lineEdit_8.setObjectName("lineEdit_8")
            MainWindow.setCentralWidget(self.centralwidget)

            self.comboBox.setCurrentText("")
            self.comboBox.setObjectName("comboBox")
            self.pushButton_3 = QtWidgets.QPushButton(self.widget_2)
            self.pushButton_3.setGeometry(QtCore.QRect(30, 450, 100, 30))
            font = QtGui.QFont()
            font.setPointSize(7)
            font.setBold(True)
            font.setWeight(75)
            self.pushButton_3.setFont(font)
            self.pushButton_3.setAutoFillBackground(False)
            self.pushButton_3.setStyleSheet("QPushButton{\n"
                                            "background-color: white;\n"
                                            "border: 1px solid;\n"
                                            "border-radius: 7px;\n"
                                            "}\n"
                                            "QPushButton:hover{\n"
                                            "background-color: rgba(170, 197, 250);\n"
                                            "}\n"
                                            "QPushButton:pressed{\n"
                                            "background-color: rgba(107, 152, 242);\n"
                                            "}")
            self.pushButton_3.setObjectName("pushButton_3")


            self.pushButton_6 = QtWidgets.QPushButton(self.widget_2)
            self.pushButton_6.setGeometry(QtCore.QRect(145, 450, 100, 30))
            font = QtGui.QFont()
            font.setPointSize(7)
            font.setBold(True)
            font.setWeight(75)
            self.pushButton_6.setFont(font)
            self.pushButton_6.setAutoFillBackground(False)
            self.pushButton_6.setStyleSheet("QPushButton{\n"
                                            "background-color: white;\n"
                                            "border: 1px solid;\n"
                                            "border-radius: 7px;\n"
                                            "}\n"
                                            "QPushButton:hover{\n"
                                            "background-color: rgba(170, 197, 250);\n"
                                            "}\n"
                                            "QPushButton:pressed{\n"
                                            "background-color: rgba(107, 152, 242);\n"
                                            "}")
            self.pushButton_6.setObjectName("pushButton_6")
              # Обновлено имя метода
            self.pushButton_7 = QtWidgets.QPushButton(self.widget_2)
            self.pushButton_7.setGeometry(QtCore.QRect(260, 450, 100, 30))
            font = QtGui.QFont()
            font.setPointSize(7)
            font.setBold(True)
            font.setWeight(75)
            self.pushButton_7.setFont(font)
            self.pushButton_7.setAutoFillBackground(False)
            self.pushButton_7.setStyleSheet("QPushButton{\n"
                                            "background-color: white;\n"
                                            "border: 1px solid;\n"
                                            "border-radius: 7px;\n"
                                            "}\n"
                                            "QPushButton:hover{\n"
                                            "background-color: rgba(170, 197, 250);\n"
                                            "}\n"
                                            "QPushButton:pressed{\n"
                                            "background-color: rgba(107, 152, 242);\n"
                                            "}")
            self.pushButton_7.setObjectName("pushButton_7")
            MainWindow.setCentralWidget(self.centralwidget)

            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", "Выход"))
            self.pushButton_4.setText(_translate("MainWindow", "Планирование\n"
                                                               "обучения"))
            self.pushButton_5.setText(_translate("MainWindow", "Оценить\n"
                                                               "сотрудника"))
            self.pushButton_2.setText(_translate("MainWindow", "Сотрудники"))
            self.lineEdit.setToolTip(_translate("MainWindow", "фывфы"))
            self.lineEdit.setPlaceholderText(_translate("MainWindow", "Имя"))
            self.lineEdit_3.setPlaceholderText(_translate("MainWindow", "Фамилия"))
            self.lineEdit_4.setPlaceholderText(_translate("MainWindow", "Отчество"))
            self.lineEdit_5.setPlaceholderText(_translate("MainWindow", "Родился"))
            self.lineEdit_6.setPlaceholderText(_translate("MainWindow", "Оценка произ"))
            self.lineEdit_7.setPlaceholderText(_translate("MainWindow", "Телефон"))
            self.lineEdit_8.setPlaceholderText(_translate("MainWindow", "Обязаности"))
            self.pushButton_3.setText(_translate("MainWindow", "Добавить"))
            self.pushButton_6.setText(_translate("MainWindow", "Изменить"))
            self.pushButton_7.setText(_translate("MainWindow", "Удалить"))
            

class ManagerWindowS(QtWidgets.QMainWindow, Ui_ManagerWindow_Staff):
    def __init__(self):
        super().__init__()
#        self.ui = Ui_ManagerWindow_Staff()
#        self.ui.setupUi(self)
        self.setupUi(self)
       
        self.pushButton_3.clicked.connect(self.add_data)

    def add_data(self):
        # Получаем значения из текстбоксов и комбобоксов
        last_name = self.lineEdit_3.text()
        first_name = self.lineEdit.text()
        patronymic = self.lineEdit_4.text()
        birth_date = self.lineEdit_5.text()
        phone = self.lineEdit_7.text()
        duties = self.lineEdit_8.text()
        training_id = self.comboBox.currentIndex() + 1  # получаем ID обучения
        evaluation = self.lineEdit_6.text()

        # Вставляем новую запись в базу данных
        conn = sqlite3.connect('database3.db')
        cursor = conn.cursor()
        query = 'INSERT INTO Staff (LastName, FirstName, Patronymic, BirthDate, Phone, Duties, TrainingID, Evaluation) VALUES (?, ?, ?, ?, ?, ?, ?, ?)'
        values = (last_name, first_name, patronymic, birth_date, phone, duties, training_id, evaluation)

        cursor.execute(query, values)
        conn.commit()
        conn.close()

        # Обновляем данные в таблице
        self.update_table()

    def update_table(self):
        # Обновляем данные в таблице
        conn = sqlite3.connect('database3.db')
        cursor = conn.cursor()
        query = 'SELECT * FROM Staff'
        result = cursor.execute(query).fetchall()

        # Очищаем модель
        self.model.clear()

        # Заполняем модель новыми данными
        for row_number, row_data in enumerate(result):
            for column_number, data in enumerate(row_data):
                item = QtGui.QStandardItem(str(data))
                self.model.setItem(row_number, column_number, item)

        # Закрываем соединение с базой данных
        conn.close()
        
 
class AuthorizationWindow(QtWidgets.QMainWindow, Ui_AuthorizationWindow):
    def __init__(self):
        super().__init__()
#        self.ui = Ui_AuthorizationWindow()
#        self.ui.setupUi(self)
        self.setupUi(self)
        
#        self.ui.pushButton.clicked.connect(self.login)
# мне без---> ^^ <------------------------------------- удобнее
        self.pushButton.clicked.connect(self.login)

    def openManagerWindow_Staff(self):
# неправильно        
#        self.manager_window = QtWidgets.QMainWindow()
#        manager_ui = Ui_ManagerWindow_Staff()
#        manager_ui.setupUi(self.manager_window)

# ПРАВИЛЬНО ----------------> vvvvvvvvvvvvvvv <--------------------- 
        self.manager_window = ManagerWindowS()             # !!! +++ <--------

        self.manager_window.show()
        self.close()

    def login(self):
        username = self.lineEdit.text()
        password = self.lineEdit_2.text()

        # Подключение к базе данных
        conn = sqlite3.connect('database3.db')
        cursor = conn.cursor()

# Проверка логина, пароля и роли в базе данных
        cursor.execute('SELECT Role FROM Authorization WHERE Login=? AND Password=?', (username, password))
        role = cursor.fetchone()
        if role and role[0] == 'Manager':
#        if username == '12345' and password == '12345':
        
            self.openManagerWindow_Staff()
        else:
            QMessageBox.warning(self, "Ошибка", "Неверный логин или пароль")

        # Закрываем соединение с базой данных
        conn.close()
        
        
if __name__ == "__main__":
    app = QtWidgets.QApplication(sys.argv)
    authorization_window = AuthorizationWindow()
    authorization_window.show()
    sys.exit(app.exec_())

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

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

→ Ссылка