51 lines
1.6 KiB
Python
51 lines
1.6 KiB
Python
# run_gui.py
|
||
"""
|
||
Главный модуль запуска GUI приложения с авторизацией
|
||
"""
|
||
import sys
|
||
import os
|
||
sys.path.append(os.path.dirname(os.path.abspath(__file__)))
|
||
|
||
from gui.login_window import LoginWindow
|
||
from gui.main_window import MainWindow
|
||
from PyQt6.QtWidgets import QApplication
|
||
from PyQt6.QtCore import QTimer
|
||
|
||
class ApplicationController:
|
||
"""Контроллер приложения, управляющий авторизацией и главным окном"""
|
||
|
||
def __init__(self):
|
||
self.app = QApplication(sys.argv)
|
||
self.login_window = None
|
||
self.main_window = None
|
||
self.current_user = None
|
||
|
||
def show_login(self):
|
||
"""Показать окно авторизации"""
|
||
self.login_window = LoginWindow()
|
||
self.login_window.login_success.connect(self.on_login_success)
|
||
self.login_window.show()
|
||
|
||
def on_login_success(self, user_data):
|
||
"""Обработка успешной авторизации"""
|
||
self.current_user = user_data
|
||
self.login_window.close()
|
||
self.show_main_window()
|
||
|
||
def show_main_window(self):
|
||
"""Показать главное окно приложения"""
|
||
self.main_window = MainWindow(self.current_user)
|
||
self.main_window.show()
|
||
|
||
def run(self):
|
||
"""Запуск приложения"""
|
||
self.show_login()
|
||
return self.app.exec()
|
||
|
||
def main():
|
||
"""Точка входа приложения"""
|
||
controller = ApplicationController()
|
||
sys.exit(controller.run())
|
||
|
||
if __name__ == "__main__":
|
||
main()
|