Загрузка данных


"""
============ Импорты и константы ========================
"""
import sys
from PyQt6.QtWidgets import *

ROLES = ["Администратор", "Врач", "Пациент"]
TEST_USER = ["aryose", "Пациент", "passwd"]

"""
============ Окно авторизации ===========================
"""
class LoginDialog(QDialog):
    def __init__(self):
        super().__init__() 

        layout = QVBoxLayout()
        self.setLayout(layout)

        # Строка ввода имени
        self.name_entry = QLineEdit()
        self.name_entry.setPlaceholderText("Имя ...")
        layout.addWidget(self.name_entry)

        # Виджет выбора роли
        self.role_combo = QComboBox()
        self.role_combo.addItems(ROLES)
        layout.addWidget(self.role_combo)

        # Строка ввода пароля
        self.password_entry = QLineEdit()
        self.password_entry.setPlaceholderText("Пароль ...")
        layout.addWidget(self.password_entry)

        # Кнопка авторизации
        self.login_button = QPushButton("Войти")
        self.login_button.clicked.connect(self.authorization)
        layout.addWidget(self.login_button)

    def authorization(self):
        name = self.name_entry.text()
        role = self.role_combo.currentText()
        password = self.password_entry.text()

        print("---------------------------------------")
        print(f"[info] name = '{name}'")
        print(f"[info] role = '{role}'")
        print(f"[info] password = '{password}'")

        if (name == TEST_USER[0] and role == TEST_USER[1] and password == TEST_USER[2]):
            self.accept()


"""
============ Главное окно ===========================
"""
class MainApp(QWidget):
    def __init__(self):
        super().__init__()

        layout = QVBoxLayout()
        self.setLayout(layout)

        self.label = QLabel("Успешный вход!")
        layout.addWidget(self.label)


"""
============ Точка входа в программу ================
"""
def main():
    app = QApplication(sys.argv)

    login = LoginDialog()
    if login.exec() != QDialog.DialogCode.Accepted:
        return sys.exit(0)

    window = MainApp()
    window.show()
    sys.exit(app.exec())
    

if __name__ == "__main__":
    main()