import sys
from PyQt5.QtWidgets import (
    QApplication, QWidget, QVBoxLayout, QLabel,
    QLineEdit, QPushButton, QComboBox
)
from PyQt5.QtCore import Qt

class PasswordGeneratorApp(QWidget):
    def __init__(self):
        super().__init__()
        self.initUI()
        self.applyLightTheme()

    def initUI(self):
        self.setWindowTitle('Password Generator')
        self.setFixedSize(400, 200)

        # Основной макет
        self.layout = QVBoxLayout()
        self.setLayout(self.layout)

        # Поле для отображения пароля
        self.password_label = QLabel('Сгенерированный пароль:')
        self.password_field = QLineEdit()
        self.password_field.setReadOnly(True)
        self.password_field.setAlignment(Qt.AlignCenter)

        # Кнопка для генерации пароля
        self.generate_button = QPushButton('Сгенерировать пароль')
        self.generate_button.clicked.connect(self.generate_password)

        # Метка для отображения стойкости пароля
        self.strength_label = QLabel('Стойкость пароля:')
        self.strength_value = QLabel('N/A')
        self.strength_value.setAlignment(Qt.AlignCenter)

        # Выпадающий список для смены темы
        self.theme_selector = QComboBox()
        self.theme_selector.addItems(['Светлая тема', 'Тёмная тема'])
        self.theme_selector.currentIndexChanged.connect(self.switchTheme)

        # Добавление виджетов в макет
        self.layout.addWidget(self.theme_selector)
        self.layout.addSpacing(15)
        self.layout.addWidget(self.password_label)
        self.layout.addWidget(self.password_field)
        self.layout.addWidget(self.generate_button)
        self.layout.addSpacing(15)
        self.layout.addWidget(self.strength_label)
        self.layout.addWidget(self.strength_value)

        # Применение стилей для минималистичного дизайна
        self.setStyleSheet("""
            QWidget {
                font-family: Arial, sans-serif;
                font-size: 14px;
            }
            QLabel {
                margin-bottom: 5px;
            }
            QLineEdit {
                padding: 8px;
                border: 1px solid #ccc;
                border-radius: 4px;
            }
            QPushButton {
                padding: 10px;
                background-color: #007BFF;
                color: #fff;
                border: none;
                border-radius: 4px;
            }
            QPushButton:hover {
                background-color: #0056b3;
            }
            QComboBox {
                padding: 5px;
            }
        """)

    def generate_password(self):
        # Заглушка для генерации пароля
        password = 'StrongP@ssw0rd!'
        self.password_field.setText(password)
        self.check_strength(password)

    def check_strength(self, password):
        # Заглушка для проверки стойкости пароля
        strength = 'Высокая'  # Тут должна быть реализация проверки стойкости
        self.strength_value.setText(strength)

    def applyLightTheme(self):
        # Применение светлой темы
        self.setStyleSheet("""
            QWidget {
                background-color: #FFFFFF;
                color: #000000;
                font-family: Arial, sans-serif;
                font-size: 14px;
            }
            QLineEdit, QComboBox {
                background-color: #F0F0F0;
                color: #000000;
                border: 1px solid #ccc;
                border-radius: 4px;
            }
            QPushButton {
                background-color: #007BFF;
                color: #FFFFFF;
                border: none;
                border-radius: 4px;
            }
            QPushButton:hover {
                background-color: #0056b3;
            }
        """)

    def applyDarkTheme(self):
        # Применение тёмной темы
        self.setStyleSheet("""
            QWidget {
                background-color: #2E2E2E;
                color: #FFFFFF;
                font-family: Arial, sans-serif;
                font-size: 14px;
            }
            QLineEdit, QComboBox {
                background-color: #3E3E3E;
                color: #FFFFFF;
                border: 1px solid #555;
                border-radius: 4px;
            }
            QPushButton {
                background-color: #3E3E3E;
                color: #FFFFFF;
                border: none;
                border-radius: 4px;
            }
            QPushButton:hover {
                background-color: #5E5E5E;
            }
        """)

    def switchTheme(self, index):
        if index == 0:
            self.applyLightTheme()
        else:
            self.applyDarkTheme()

def main():
    app = QApplication(sys.argv)
    window = PasswordGeneratorApp()
    window.show()
    sys.exit(app.exec_())

if __name__ == '__main__':
    main()









перепиши это приложение на библиотеку pywebview и раскидай все правильно по папкам и классам