import sys
import re
from PyQt6 import QtWidgets, QtCore
class RegistrationApp(QtWidgets.QWidget):
def __init__(self):
super().__init__()
self.init_ui()
def init_ui(self):
self.setWindowTitle("Регистрация пользователя")
self.setGeometry(100, 100, 300, 200)
# Создание элементов интерфейса
self.email _label = QtWidgets.QLabel("Электронная почта:")
self.email _input = QtWidgets.QLineEdit()
self.password_label = QtWidgets.QLabel("Пароль:")
self.password_input = QtWidgets.QLineEdit()
self.password_input.setEchoMode(QtWidgets.QLineEdit.EchoMode.Password)
self.confirm_password_label = QtWidgets.QLabel("Подтвердите пароль:")
self.confirm_password_input = QtWidgets.QLineEdit()
self.confirm_password_input.setEchoMode(QtWidgets.QLineEdit.EchoMode.Password)
self.register_button = QtWidgets.QPushButton("Зарегистрироваться")
self.register_button.clicked.connect(self.register)
# Упаковка элементов в вертикальный layout
layout = QtWidgets.QVBoxLayout()
layout.addWidget(
self.email _label)
layout.addWidget(
self.email _input)
layout.addWidget(self.password_label)
layout.addWidget(self.password_input)
layout.addWidget(self.confirm_password_label)
layout.addWidget(self.confirm_password_input)
layout.addWidget(self.register_button)
self.setLayout(layout)
def register(self):
email =
self.email _input.text()
password = self.password_input.text()
confirm_password = self.confirm_password_input.text()
if not self.validate_email(email):
QtWidgets.QMessageBox.warning(self, "Ошибка", "Неверный формат электронной почты.")
return
if password != confirm_password:
QtWidgets.QMessageBox.warning(self, "Ошибка", "Пароли не совпадают. Попробуйте снова.")
self.password_input.clear()
self.confirm_password_input.clear()
return
if len(password) < 6:
QtWidgets.QMessageBox.warning(self, "Ошибка", "Пароль должен содержать не менее 6 символов.")
self.password_input.clear()
self.confirm_password_input.clear()
return
# Здесь можно добавить код для сохранения данных в базу данных
QtWidgets.QMessageBox.information(self, "Успех", "Регистрация прошла успешно!")
def validate_email(self, email):
# Простой регулярный выражение для проверки формата электронной почты
pattern = r'^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$'
return re.match(pattern, email) is not None
if __name__ == "__main__":
app = QtWidgets.QApplication(sys.argv)
window = RegistrationApp()
window.show()
sys.exit(app.exec())
import sys
import re
from PyQt6 import QtWidgets, QtCore
class RegistrationApp(QtWidgets.QWidget):
def __init__(self):
super().__init__()
self.init_ui()
def init_ui(self):
self.setWindowTitle("Регистрация пользователя")
self.setGeometry(100, 100, 300, 200)
# Создание элементов интерфейса
self.email _label = QtWidgets.QLabel("Электронная почта:")
self.email _input = QtWidgets.QLineEdit()
self.password_label = QtWidgets.QLabel("Пароль:")
self.password_input = QtWidgets.QLineEdit()
self.password_input.setEchoMode(QtWidgets.QLineEdit.EchoMode.Password)
self.confirm_password_label = QtWidgets.QLabel("Подтвердите пароль:")
self.confirm_password_input = QtWidgets.QLineEdit()
self.confirm_password_input.setEchoMode(QtWidgets.QLineEdit.EchoMode.Password)
self.register_button = QtWidgets.QPushButton("Зарегистрироваться")
self.register_button.clicked.connect(self.register)
# Упаковка элементов в вертикальный layout
layout = QtWidgets.QVBoxLayout()
layout.addWidget( self.email _label)
layout.addWidget( self.email _input)
layout.addWidget(self.password_label)
layout.addWidget(self.password_input)
layout.addWidget(self.confirm_password_label)
layout.addWidget(self.confirm_password_input)
layout.addWidget(self.register_button)
self.setLayout(layout)
def register(self):
email = self.email _input.text()
password = self.password_input.text()
confirm_password = self.confirm_password_input.text()
if not self.validate_email(email):
QtWidgets.QMessageBox.warning(self, "Ошибка", "Неверный формат электронной почты.")
return
if password != confirm_password:
QtWidgets.QMessageBox.warning(self, "Ошибка", "Пароли не совпадают. Попробуйте снова.")
self.password_input.clear()
self.confirm_password_input.clear()
return
if len(password) < 6:
QtWidgets.QMessageBox.warning(self, "Ошибка", "Пароль должен содержать не менее 6 символов.")
self.password_input.clear()
self.confirm_password_input.clear()
return
# Здесь можно добавить код для сохранения данных в базу данных
QtWidgets.QMessageBox.information(self, "Успех", "Регистрация прошла успешно!")
def validate_email(self, email):
# Простой регулярный выражение для проверки формата электронной почты
pattern = r'^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$'
return re.match(pattern, email) is not None
if __name__ == "__main__":
app = QtWidgets.QApplication(sys.argv)
window = RegistrationApp()
window.show()
sys.exit(app.exec())