op13-control-1/composer.py
2026-01-23 09:41:20 +03:00

39 lines
1.1 KiB
Python

import sys
from base import BaseWindow
from windows import CustomerWindow, CashierWindow, LoginWindow
from PyQt6.QtWidgets import QApplication
from PyQt6.QtCore import pyqtSignal, pyqtSlot, QObject
class Composer(QObject):
render_request = pyqtSignal(str)
def __init__(self,
app: QApplication
):
super().__init__()
self._app = app
self._entry = LoginWindow("Окно Авторизации", "", self)
self._current = None
self.render_request.connect(self._render)
def run(self):
self._current = self._entry
self._current.show()
sys.exit(self._app.exec())
@pyqtSlot(str)
def _render(self, user: str):
if self._current:
self._current.close()
match user:
case "Покупатель":
window = CustomerWindow("Покупатель", user, self)
case "Кассир":
window = CashierWindow("Кассир", user, self)
self._current = window
self._current.show()