"""
============ Импорты и константы ========================
"""
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()